1
0
Fork 0
mirror of synced 2025-04-04 21:53:32 +03:00

Compare commits

...

1352 commits

Author SHA1 Message Date
Kevin Brown
d2f3937764
Merge pull request #5700 from select2/kevin-brown-patch-1
Connected GitHub to Open Collective for funding
2019-11-11 16:22:35 -05:00
Kevin Brown
49f8076291
Connected GitHub to Open Collective for funding 2019-11-11 16:21:09 -05:00
Kevin Brown
b73238fbe7
Merge pull request #5697 from select2/release/4.0.12
[Release] 4.0.12
2019-11-05 20:31:45 -05:00
Kevin Brown
1f97288d96 Updated changelog for 4.0.12 2019-11-05 20:28:33 -05:00
Kevin Brown
752eabba47 Recompiled dist for 4.0.12 2019-11-05 20:25:42 -05:00
Kevin Brown
c94dfadc7f Bump versions for 4.0.12 release 2019-11-05 20:23:54 -05:00
Kevin Brown
1da125f11e
Merge pull request #5691 from paxnovem/GH-5682
Fix support for the Shadow DOM when calculating offsets
2019-11-05 20:12:15 -05:00
Brian Grohe
69bcf1a034 Fix line length issue 2019-10-31 21:11:33 -04:00
Brian Grohe
69aab8d2d3 Added support for the shadowdom 2019-10-31 20:49:44 -04:00
Kevin Brown
e809aa0fee
Merge pull request #5687 from select2/swap-cdnjs
Replace cdnjs with jsDelivr in the docs
2019-10-30 23:47:39 -04:00
Kevin Brown
0d37eed52b
Merge pull request #5686 from select2/npm-deployment
Fix NPM deployment
2019-10-30 23:38:35 -04:00
Kevin Brown
884a1a6930 Replace cdnjs with jsDelivr in the docs
This is needed until cdnjs figures out their future in
cdnjs/cdnjs#13524. Until then, we will just reference their existence
and promote jsDelivr to the primary source.
2019-10-28 04:28:59 -04:00
Kevin Brown
37773d408f Delay documentation deployment
This should hopefully fix any possible issues where the NPM package
may be released after the documentation is deployed, which could cause
a cause miss by jsDelivr and cause the documentation to cache without
pulling in the Select2 dependency.

It hasn't happened yet, but I'm concerned it could happen and I don't
want to put in the effort to make a more sophisticated way of
handling this issue.
2019-10-28 04:10:33 -04:00
Kevin Brown
796ab7bf41 Fix deploying to NPM
This changes the NPM registry URL to point to the actual NPM registry
instead of the GitHub package registry.
2019-10-28 04:09:40 -04:00
Kevin Brown
203e833153
Merge pull request #5677 from select2/funding-file
Add GitHub Sponsors funding link
2019-10-23 07:41:34 -04:00
Kevin Brown
08a407e7d1
Add GitHub Sponsors funding link 2019-10-23 07:39:51 -04:00
Kevin Brown
032d964948
Merge pull request #5666 from select2/release/4.0.11
[Release] 4.0.11
2019-10-13 16:35:48 -04:00
Kevin Brown
ca1bbd0738 Update changelog for 4.0.11 2019-10-13 16:30:11 -04:00
Kevin Brown
d18d9b6b71 Recompiled dist for 4.0.11 2019-10-13 16:23:56 -04:00
Kevin Brown
016f628954 Switchs docs to load from jsdelivr
This should hopefully fix the issue we were seeing where the docs
would not render properly immediately after a release because CDNjs
has a delay in updating versions. jsdelivr does not have this delay,
so we shouldn't have any many rendering issues.
2019-10-13 16:18:29 -04:00
Kevin Brown
deda455aac Bump versions for 4.0.11 release 2019-10-13 16:16:38 -04:00
Kevin Brown
34689368df
Remove Travis CI (#5665) 2019-10-13 16:08:40 -04:00
Kevin Brown
7c67f3e9b6
Enable GPM (#5660)
* Uncomment the deploy_github job for GPR

* Automatically add private scope to package for GPM

This is requires in order to deploy to GitHub package manager since
all packages must be scoped to the organization that they are being
deployed to. Because of how publishing scoped packages works with
NPM, there is no easier way to rename a package that is being pushed
to both a scoped and unscoped registry.

* Don't run NPM deploy if it's not a release

There was a change last week that now allows jobs to be filtered
entirely, so this now works like we had originally hoped.

* Tag branch pushes with commit

This is needed because you cannot overwrite a version on NPM, so the
previous plan of just using the prelease version would only work for
a single commit.

* Fixed invalid version identifier
2019-10-09 23:25:12 -04:00
Kevin Brown
7c4131bc27
Merge pull request #5644 from select2/GH-5584
Fixes jQuery migrate error when getting offset when dropdownParent not in document
2019-09-18 21:56:57 -04:00
Kevin Brown
31931a4212 Add tests for when dropdownParent isn't in the document 2019-09-18 21:44:25 -04:00
Kevin Brown
2c5467b38c Fixes error when getting offset of element not in document
This fixes an error which is called out in jQuery Migrate but
probably never happens in real life. This is because we call
`jQuery.fn.offset` without checking if the element is in the
document. Based on testing done here and within the MediaWiki
team, I'm pretty sure jQuery never actually implemented explicit
checks and this jQuery Migrate warning is just to cover the case
where a browser might start returning inconsistnet results. And
we could at least reproduce the inconsistency, so that's something.

We now default the offset to 0/0 if the parent element happens to
not be in the document. This appears to be what jQuery used to do
in the past, and generally appears to be what people expect in
these cases.

This fixes #5584.
2019-09-18 21:33:13 -04:00
Kevin Brown
233424da2b
Merge pull request #5639 from select2/github-actions-updates
GitHub Actions updates
2019-09-11 23:53:51 -04:00
Kevin Brown
2e4c11339c Disable deploying to GPM
We have to wait to be cleared for the private beta access first before we can actually deploy to this.
2019-09-11 23:49:02 -04:00
Kevin Brown
3bc5e4ee40 Update README with new docs location 2019-09-11 23:48:01 -04:00
Kevin Brown
5f78d824ac Swap Travis CI badge with GitHub Actions badge
Since it's still in a private beta, we can't link to anything useful so the link has been dropped
2019-09-11 23:44:21 -04:00
Kevin Brown
581308337a
Merge pull request #5638 from select2/github-actions
Enable GitHub Actions to replace Travis CI
2019-09-11 23:34:01 -04:00
Kevin Brown
7688be5db5 Only deploy docs on releases 2019-09-11 23:27:04 -04:00
Kevin Brown
e1d64e92c4 HOST_FINGERPRINT is also required but unused 2019-09-11 23:15:02 -04:00
Kevin Brown
a31d56d47b HOST_IP is also required but unused 2019-09-11 23:12:52 -04:00
Kevin Brown
120065ed46 SSH_PUBLIC_KEY is required but unused 2019-09-11 23:10:22 -04:00
Kevin Brown
c95ed1796a Switch to using rsync 2019-09-11 23:07:31 -04:00
Kevin Brown
dea726d065 Use new syntax for args 2019-09-11 22:59:11 -04:00
Kevin Brown
bff3a777ae Try using strip.components with drone-scp
This should, in theory, strip out the leading docs directory when doing the copy.
2019-09-11 22:57:24 -04:00
Kevin Brown
29d01a00c5 Move docs into root directory before copying
Hopefully this fixes the issue where it was unpacking the enitre directory into the destination instead of the individually specified files.
2019-09-11 22:51:44 -04:00
Kevin Brown
b3c6d3ebfe Remove trailing slash on destination directory 2019-09-11 22:35:52 -04:00
Kevin Brown
5e32678e49 Proper syntax for copying dir contents 2019-09-11 22:29:43 -04:00
Kevin Brown
c891d2ec72 Deploy docs to the production location 2019-09-11 22:20:38 -04:00
Kevin Brown
8cb7e33766 Fix copying directory during deployment 2019-09-11 22:14:18 -04:00
Kevin Brown
b4c3eccd7b Merge branch 'docs-master' into merge-docs 2019-09-11 04:03:38 -04:00
Kevin Brown
3606801728 Remove old documentation
This is no longer used for deploying the old GitHub pages doucmentation.
2019-09-11 21:56:24 -04:00
Kevin Brown
fe208f1f86 Added workflow for deploying documentation
This does not yet deploy the actual documentation, but it instead deploys the old docs (which are now redirects) to a temporary folder for testing.
2019-09-11 21:49:00 -04:00
Kevin Brown
891993e39b Renamed deploy.yml to package-deploy.yml
Eventually we are going to want to do documentation deployments so it makes sense to split them up.
2019-09-11 21:22:02 -04:00
Kevin Brown
dafddb73c8 Made NPM deployment step consistent with GPM 2019-09-11 21:15:02 -04:00
Kevin Brown
7b1367c6a0 Switch to only deploying when pushing to develop/master
Hopefully this still allows the release trigger to work, but this is relying on undocumented behaviour that nobody else appears to have tried.
2019-09-11 21:13:28 -04:00
Kevin Brown
e0560c74f7 Move documentation to the docs folder 2019-09-11 04:02:16 -04:00
Kevin Brown
748d279107 Extract NPM deployment out to different workflow
This will allow us to limit what branches it runs on.
2019-09-11 03:08:03 -04:00
Kevin Brown
82c51a319c Remove dry run from publish 2019-09-11 20:57:40 -04:00
Kevin Brown
8b9a99d286 Enable dry runs for publishing 2019-09-10 20:56:45 -04:00
Kevin Brown
91838fe0a6 Add deploying to GPM and NPM
This also adds a handler for the release event, which is what we want to be using for pushing NPM builds out.
2019-09-10 20:07:35 -04:00
Kevin Brown
ffd98a493b Add steps for linting, minification, start deployments
The deployment step is not yet finished and this required splitting linting from running tests.
2019-09-10 19:44:27 -04:00
Kevin Brown
6758bb50b9 Fixed GitHub Actions syntax 2019-09-10 19:28:41 -04:00
Kevin Brown
f025d675a9 Added basic GitHub Actions workflow to build the project 2019-09-10 19:21:22 -04:00
Kevin Brown
d6acc57a7c
Merge pull request #42 from select2/develop
Release Select2 4.0.10
2019-08-28 21:27:53 -04:00
Kevin Brown
7f0800ceba Bump versions for 4.0.10 release 2019-08-28 21:26:12 -04:00
Kevin Brown
2a80567151
Merge pull request #5623 from select2/release/4.0.10
[Release] 4.0.10
2019-08-27 23:05:53 -04:00
Kevin Brown
3d52d08063 Updated changelog for 4.0.10 2019-08-27 23:03:06 -04:00
Kevin Brown
5f1a91c447 Recompiled dist for 4.0.10 2019-08-27 23:02:40 -04:00
Kevin Brown
919373e481 Bump versions for 4.0.10 release 2019-08-27 22:58:25 -04:00
Kevin Brown
64e829e447 Converting tests to unix newlines 2019-08-27 22:56:27 -04:00
Kevin Brown
d0c5aca962
Merge pull request #5622 from select2/GH-5373
Support passing in a selector for `dropdownParent` option
2019-08-27 22:54:06 -04:00
Mikhail Titov
01e68f4dd7 Test for dropdownParent option 2019-08-27 22:48:18 -04:00
Mikhail Titov
357c2a11c2 Allow passing non-jQuery objects as dropdownParent 2019-08-27 22:31:24 -04:00
Kevin Brown
9e4f842fb1
Merge pull request #5621 from select2/GH-5619
Fix bug where dropdowns pointing upwards were incorrectly positioned
2019-08-27 22:27:14 -04:00
Kevin Brown
d8d2aa5b03 Switch back to late binding the positioning handlers
This is how it used to work pre-4.0.9, where the bound handlers for
resizing and positioning the dropdown were bound at the first time
that the dropdown was opened. This was changed for the 4.0.9 release
as a part of 3f75227a693 where it was not clear why this late binding
was happening, so it was removed to simplify the code.

The late binding is necessary because the handlers within results for
generating the results, and thus the content within the dropdown,
are bound after the handlers for the dropdown are bound. This results
in situations where the handlers for positioning the dropdown are
bound before the dropdown is updated with content, resulting in the
positioning being calculated for the old content and thus being
incorrectly placed. By binding the positioning handlers after the
dropdow is opened for the first time, we can ensure that the
positioning handlers are bound after the result handlers, so we
won't have to worry about this issue.

The handlers are only bound once because they only need to perform
all the calculations a single time. There is no need to keep checking
all of the calculated styles more than we need to, so this is guarded
by a flag which ensures it is only bound a single time per dropdown.

Fixes #5619
Fixes #5620
2019-08-27 22:20:39 -04:00
Kevin Brown
bdeb9075f5
Merge pull request #40 from select2/develop
Release Select2 4.0.9
2019-08-21 21:25:07 -04:00
Kevin Brown
3f8c3c54a3 Bump versions for Select2 4.0.9 release 2019-08-21 21:22:19 -04:00
Kevin Brown
f8ded17ae7
Merge pull request #39 from MediaIQ/fix_data_properties_doc
Fix the doc for data-disabled property as not available
2019-08-21 21:18:26 -04:00
Kevin Brown
d54560f21e
Merge pull request #5613 from select2/release/4.0.9
[Release] 4.0.9
2019-08-21 20:59:42 -04:00
diesl
1a6d4a1ad8 Update de.js (#5604)
Improve German translation
2019-08-21 20:26:55 -04:00
Kevin Brown
4afa7f88a4
The language option now has a clearly defined fallback chain (#5602)
* Made the test suite for translations more complete

There were previously tests for translations within the test suite,
but they only covered a select few problem cases that had previously
been fixed. They did not cover the majority of cases, which makes
changes to how the translation mechanism for Select2 works a bit
more challenging.

So this adds tests for the majority of edge cases around translations,
including how one would expect the fallback chains to work and also
around how defaults interact with the language options. This should
not be considered an exhaustive list of all of the edge cases, but
it should be good enough to refactor the internals and not have to
worry as much.

The one change of note to this test file is that we are now properly
resetting the defaults in between tests. This should fix any issues
that we may have seen where the defaults were not being reset, and
thus tests were not properly isolated and would start to interfere
with each other. This required pulling the module definition down
below the imports, since we need to reference the defaults within
the module definition.

Many of these tests will fail because the translation system is
broken in many small, unrealized ways. The next few commits should
make these pass and fix the issues that we are seeing.

* Consistently resolve the language option

This fixes an issue that we have had for a while where we did not
have a way to consistently take the `language` option from a string,
array, object, or whatever else is specified and resolve it into
`Translation`-compatible objects or strings. Now there is a new
internal `_resolveLanguage` function which is able to take any of
the supported ways of specifying a language and resolve it down into
the supported language chain.

This now means that we can properly resolve the following cases,
and we can do it in a consistent manner.

* When the language is specified as just a string (for example: "en")
* When the language is specified as a string containing a region
  (for example: "en-US")
* When the langugae chian is specified as a list of strings (for
  example: ["es", "en"])
* When the language is specifid as an object containing messages
  (for example, when a user overrides only a subset of messages)
* When the language is specified as a list of strings and objects
  (for example, when a user wants to use a language other than
  English and also wants to ovverride some default messages)
* When the language is not specified at all (the most common case)
* When the language is specified as an empty object (an edge case
  that allows us to skip processing it)

This allows us to consistently produce the language fallback chain
based on the given `language` option, something which we could not
actually do before because we didn't have a consistent chain. This also
means that now the `language` option will consistently be an array
after going through this process, instead of being any number of
types before.

The translation generation currently does not support having objects
and strings mixed as a part of the fallback chain, despite that being
how the default chain has always worked, and as such there are still
failing tests around this.

* Move English to always be at the end of the language chain

This was technically true in most cases in the past, because if a
language chain was manually specified then it would have English
injected into the end of it anyway. This is needed because not all
translations are complete, but we know the English one is, and
Select2 relies on the translation that it uses being complete.

This will result in cases where a user specifies a language but still
receives English translation for some things, which is what users
have historically seen when using partial translations anyway. This
just ensures that there will always be a complete translation that
is being used, so they won't get unexpected errors and will instead
get unexpected English translations.

* Filter out repeated languages in fallback chain

This is mostly being done for performance reasons, since Select2
will not behave any differently when there are duplicates, but it
makes things cleaner when you ask for the fallback chain and it
only contains unique values.

This cannot distinguish between languages specified by name (string)
and languages specified by the contents of their language file
(such as the default, English), but this should generally not be
an issue.

* Convert the language chain into a finalized translation

This extracts the logic for converting parts of the language chain
into the finalized `Translation` objects out into its own method,
with some small fixes for edge cases.

This can now properly convert a language chain containing both
strings and objects into a translation object that contains them
both.

We no longer need to special case the `language` option being an
array since we know that it will be an array once the language
resolution process is completed.

* Switch default translation to be empty

This should have no external effects, but it fixes an interesting
bug where resetting the defaults would not always reset custom
translations. This was because it was possible to modify the
included English translation when you were setting a default for the
language option.

This should not cause any issues because the English translation is
now appended to the end of the language chain when the defaults
are applied, which means that English will continue to exist as the
final fallback.

* Inherited `lang` attribute should be below the default in the chain

It was pointed out in #5468 that the `lang` attribute, when inherited
from a parent element, was above the option set in the global default
within the inheritance chain. While this makes sense because of how
we inherit other properties, it does not make sense for the `lang`
attribute.

The inheritance chain for the `language` option has been adjusted
to be the following:

1. The `lang` attribute on the original `<select>` element
2. The `data-language` attribute on the original `<select>` element
   (because of how `data-*` attribute resolution affects options)
3. The `language` option specified when initiailizing Select2
4. The `language` Select2 default
5. The `lang` attribute on a parent of the `<select>` element

While this is a breaking change, we believe that this change will
have minimal to no impact on real-world usage of Select2, because
of how the `lang` attribute is generally used within documents.
We believe this will now make setting the default language through
JavaScript easier and more reliable, bringing it in line with how
we recommend it is done within the documentation.

This was implemented through a new method `Defaults.applyFromElement`
instead of within the old `Options.fromElement` method because it
relies on the global defaults object. While we could have reached
in to the internals in order to apply it appropriately, it made
more sense to handle the proper resolution through a single
consistent place.

This was not implemented in the `Defaults.apply` method because that
method is not typically passed in a reference to the original
`<select>` element that it is applying the options for.

Closes #5468

* Properly resolve language chains with dictionaries

It is possible for a language chain to be specified that includes
both a dictionary and the string translation as a part of the same
chain, but we would previously throw an error because we assumed
that the list could only contain strings and that dictionaries
would never be included in lists.

This fixes the issue so language region normalization only occurs
when a string is specified in the language chain, which is what we
were previously assuming was the case but was not actually.

This also now resolves the entire language option during the
`Defaults.apply` method. This should be a no-op except for internal
tests, because the `Defaults.applyFromElement` method should almost
always be called in real-world scenarios.
2019-08-13 20:07:35 -04:00
Nagaraj Tantri
ed4b780dbb
Merge pull request #1 from tan31989/fix_data_properties_doc
Updated the docs to add data-disabled to be added as an info - not al…
2019-08-09 17:54:24 +05:30
Nagaraj Tantri
330ae4a165 Updated the docs to add data-disabled to be added as an info - not allowed 2019-08-09 17:53:09 +05:30
Kevin Brown
4db849cd99 Update changelog for 4.0.9 2019-08-07 21:40:36 -04:00
Kevin Brown
dc4e83379c Recompiled dist for 4.0.9 2019-08-07 21:30:49 -04:00
Kevin Brown
7fab80268f Bump versions for 4.0.9 release 2019-08-07 21:26:10 -04:00
Kevin Brown
9ad1b9107b Converting tests to unix newlines 2019-08-07 21:25:01 -04:00
Luiz Américo
7b9cfcaaa0 Remove unused variables (#5554) 2019-08-07 07:24:17 -04:00
Kevin Brown
f13ba12bea
allowClear no longer shifts selections to a new line (#5603)
* allowClear no longer shifts selections to a new line

This fixes an issue that we have had with the "x" icon used by the
`allowClear` option where selections that just barely interacted
with the position of the "x" icon would be pushed to a new line
that was separate from the normal second line of selections. This
case was pretty rare, because you only had a ~9px area where the
interaction could occur.

The issue was cuased by the "x" icon being sized for the height of
the text in the selection choices, which should be the same as how
the selection choices themselves are sized. Unfortunately this did
not take into account the fact that the selection choices are given
a 1px border which increases their size by 2px, which is what lead
to the odd behaviour. This behaviour could not be replicated without
the 1px border because the height would then line up correctly.

The issue can be fixed by adding a 2px margin to the bottom of the
"x" icon, which would force overlapping selections on to the correct
second line of selections. This was the method that many users have
been using to correct this issue, but was not the method we chose to
use. A 1px padding has been added to the "x" icon instead, which
should expand the touch area of the "x" by a little while also
increasing the height of the "x" by enough to prevent the overlapping.

Fixes #4470

* Remove hard-coded height in tests

Because tests are executed on different browsers, and because each
browser sets their own line height, we cannot depend on the height
of the default Select2 being consistent across browsers. As a result,
we must write our tests to calcualte the expected height based on
known data. In the case of this test, we can calculate ahead of time
what two rows of selections is supposed to look like, instead of the
edge case that we can otherwise encounter.
2019-08-04 22:03:52 -04:00
Nagaraj Tantri
2ccdcb57c6 Updated grunt version so it no longer shows as vulnerable (#5597) 2019-08-04 01:58:52 -04:00
Kevin Brown
e5131d0cc8
Set the main ARIA 1.1 roles and properties for comboboxes (#5582)
* Move search accessibility tests under selection tests

* Set aria-activedescendent and aria-owns on selection search

This is a reduced version of a5ab08b49cb which is split out to only
set the `aria-activedescendent` and `aria-owns` attributes on the
search box located within the selection container. This is the search
box used within a multiple select, and previously it did not always
set these two attributes correctly.

One major change here is that we clear the `aria-activedescendent`
attribute if the result that is selected does not have an ID. This
was not being done previously, instead the attribute was still
containing the old value, and it meant that sometimes the wrong
result was being pointed to.

The test coverage for this was also expanded to ensure that these
attributes are properly being set.

* Set aria-activedescendent and aria-owns on dropdown search

This is a reduced version of a5ab08b49cb which is split out to only
set the `aria-activedescendent` and `aria-owns` attributes on the
search box located within the dropdown. This is the search box used
within a single select, and previously it did not set these two
attributes at all. Additionally, it did not set the `aria-autocomplete`
attribute, which is also needed for screen readers to properly read
through the list of results.

There was previously no test coverage for this, so the tests were
largely copied from the tests for selection search.

* Set proper ARIA roles on result elements

When Select2 4.0.0 was originally written, accessibility was tested
using the Orca screen reader and Mozilla Firefox as the browser.
Because a `<select>` box could contain `<optgroup>` elements, which
can further contain additional `<option>` elements, Orca would read
out a `<select>` box as a tree view. Apparently Orca was the only
screen reader to do this, but Select2 maintained this behaviour
because the ARIA spec did not allow grouping elements for the right
roles.

In the ARIA 1.2 spec, an element with the role of `listbox` (which
is the proper one for representing a `<select>` element) can now
contain elements with the role of `group` that can be used for
grouping. This means that now Select2 can switch to use the proper
ARIA roles to better match how most browsers represent the `<select>`
element out of the box.

As a result, instead of the Select2 results list being represented
as a tree containing tree items, it is now represented as a listbox
containing options and groups. Notices will be represented as an
alert, which more closely represents what they were being used for.

This is a reduced version of a5ab08b49cb which is split out to only
fix the `role` attributes on elements within the results list.

* Switch search boxes to have a role of searchbox

I'm pretty sure this is implicit now, but since we used to specify
that the search box had a role of `textbox`, we may as well migrate
that over to specify the role of `searchbox`. This is different
from the original pull request where this role was changes to
`combobox`, but that is because we are working against the ARIA 1.2
spec and the original pull request was working agianst the ARIA 1.0
spec, which required the search box to have that role.

* Set aria-controls instead of aria-owns on search boxes

In ARIA 1.1, there was a switch to use `aria-controls` on the search
box to point to the results list instead of using `aria-owns`. This
is required because the `combobox`, in our case the selection
container, should have the `aria-owns` attribute pointing to the
results list. And because only one elment can own another element,
we must fall back to `aria-controls` to represent that relationship.

The tests have also been adjusted to reflect this new discovery.
2019-07-29 22:34:24 -04:00
Kevin Brown
f14bdf6b7b
Fix search box expanding width of container (#5595)
This fixes a bug with the search box where, when it had a placeholder,
it would expand the width of the selection container because it was
too large. This bug was specifically caused by the search box not
factoring in the padding surrounding it when caclualting the width
it needed to be, which resulted in the search box extending
outside of the selection container. This bug was easy to notice if
your Select2 was set to have 100% width and if the container it was
held within was not a block element.

This fixes the bug by switching to using `width()` for calculating
the search width instead of using `innerWidth()`, which ignored the
surrounding padding.

Fixes #5517
Closes #5518
2019-07-29 22:25:19 -04:00
Kevin Brown
472e5ad50f
Fix dropdown positioning when displayed above with messages (#5592)
This fixes an issue which was usually observed when working with
AJAX results sets and having a message being displayed, usually the
minimum characters message or an error. The dropdown would display
up, like it was supposed to, but the message would appear to be
floating above the container and detached.

This was occuring because the dropdown position was not being
calculated whenever a message was displayed in the results, only
when the results were loaded or new results were appended to an existing
results set. There are plenty of situations where this could have
caused issues, but somehow most of the reports were around a very
specific situation with AJAX which could be reproduced on the
examples site.

Fixes #4614
Fixes #4616
Fixes #5253
Closes #5196
2019-07-28 15:16:30 -04:00
Kevin Brown
525f661915
Reposition dropdown whenever items are selected (#5590)
* Reposition dropdown whenever items are selected

This fixes an old bug where if you had a multiple select with the
`closeOnSelect` option set to `false` and many options being
selected, the dropdown would not reposition itself if the selected
options expanded the container down another line. This was because
the dropdown was only being repositioned when it was opened, closed,
or if something around it was scrolled or resized. Unfortunately,
in most cases none of these happened and the dropdown would start
covering the selections.

This was fixed by telling Select2 to resize the dropdown when new
options are selected or existing options are unselected.

Fixes #4377

* Attach positioning handlers at bind time

The positioning handlers have been attached at the time that the
dropdown is opened since when they were first committed many years
ago. It's not actually clear why this was being done, since they
don't rely on anything involving the dropdown being open. This
removes the flag and process for setting these handlers only after
the dropdown was opened for the first time, and moves these handlers
to always be set at bind time.
2019-07-28 14:49:25 -04:00
Kevin Brown
efbfd14414
Remove selection title attribute if text is empty (#5589)
This fixes a bug that was introduced in Select2 4.0.0 and only
partially fixed in Select2 4.0.6-rc.0 where the `title` attribute
that is set on the selection container (or individual selections,
for a multiple select) is not cleared when the text/title of the
option is not set. In most cases, users no longer see this issue
because the `text` property of most data objects is set, so the
`title` attribute will always be cleared correctly. There was a bug
for cases where the `text` property was not set, or where the `text`
property was set to an empty string, that resulted in the `title`
attribute persisting with the incorrect value.

We have fixed this issue by always removing the `title` attribute
from the selection (or not adding it in the first place, for a
multiple select) when the `text` and `title` properties of the data
object are empty or not present.

This also adds in a series of tests to ensure the `title` attribute
is set properly in a variety of cases, building upon the ones that
already existed.

Fixes #3895
2019-07-28 00:36:51 -04:00
Kevin Brown
6645ffd4bd
Select2 now clears the internal ID when it is destroyed (#5587)
This fixes a bug where if you cloned a Select2, the internal ID used
for mapping elements (specifically the `<select>`) to the in-memory
data store would be cloned as well, causing issues when you tried to
initialize Select2 on the cloned element. This was because we did not
properly clear all of the internal data and all of the internal
attributes that Select2 uses when we destroyed it. The internal
`data-select2-id` attribute was not being cleared, and this was the
attribute being used for the internal mapping.

Now we properly clear the `data-select2-id` attribute from the element
when we call `RemoveData` on the element. This aligns with what we
were trying to do, since we previously cleared out the internal store
for that ID, and fixes the issue we were seeing when cloning.

Fixes #5247
2019-07-27 21:37:43 -04:00
Kevin Brown
1f3eceba5a
Fix generated options not receiving result IDs (#5586)
In order to enable the ability to uniquely identify a result by an ID
in the DOM, we generate a new ID for the result based on a combination
of things, including the container ID prefix that is generated and
used elsewhere in Select2. This has worked fairly well for use cases
including attaching Select2 to an existing `<select>` and loading in
options from a remote data set.

Unfortunately, because this process relied on the container ID being
used as a prefix, this failed for options which were automatically
generated on initialization using the `data:` option to Select2.
These were not being generated with an ID because at the time that
they were being generated, the data adapter was not aware of the
container it was being used in. This broke some accessibility features
because we had a mix of options in the results list with IDs, and
some without, so we fixed the ordering to make this work.

Option generation no longer happens when the data adapter is first
initialized, which is where it was previously happening, and instead
it now occurs when the data adapter is bound to the container. This
allows us to ensure that the data adapter is always aware of the
container it is being associated with, so now it will be able to
generate the result IDs.

This also fixes the tests for the array adapter as well as the
legacy `<input />` adapter so they properly bind to a container
during the test. This was causing test failures becuase the options
which would previously be generated during initialization were no
longer appearing.

Fixes #4350
2019-07-27 16:37:57 -04:00
Kevin Brown
2fce8ae6c4
Fix maximumSelectionLength being ignored by closeOnSelect (#5581)
* Rewrote maximumSelectionLength tests to use container

These brings the tests in line with other tests which we have, and
makes it easier to understand what is actually going on in the tests.

This also removes a redundant set of tests where we were testing with
=> 2 options being allowed. There are no current edge cases that would
have required this.

* Fix maximumSelectionLength being ignored by closeOnSelect

There was a bug where the `maximumSelectionLength` option would not
kick in if the `closeOnSelect` option was enabled. Normally, this
was enabled by someone in their global configuration, but it could
also be seen when somoene selected an option while holding the
meta/ctrl/alt keys. This would implicitly enable the `closeOnSelect`
behaviour, even when it was not globally enabled, and cause the bug.

This fixes that issue by listening to the `select` event which is
triggered whenever an option is selected, and triggers the "maximum
selected" message based on that event. This should now force the
message to be displayed, even when the results did not have to be
queried another time.

Fixes #3514
Fixes #3860
Closes #5333
2019-07-21 15:44:37 -04:00
Kevin Brown
f2d527ea97
Do not propagate click when search box is not empty (#5580)
This fixes a long-standing bug where if you tried to click in the
search box for a multiple select while there was text in it, the
dropdown would close and the text would be cleared. This caused
many unexpected issues, because it meant that you could only use
your keyboard to edit text within the search box.

This will still clear out the search field if you click within the
area of the selection which is not the search field. I'm not sure
if that is also unexpected behaviour, so for now I am going to
maintain it.

Fixes #3517
Fixes #3808
Fixes #5491
Closes #5551
2019-07-21 13:04:51 -04:00
Kevin Brown
89576153a0
Mirror disabled state through aria-disabled on selection (#5579)
This is needed to screen readers know that the Select2 is disabled
when focus is put on the selection container. Because we were
mirroring the disabled state to the search input on a multiple
select in the past, this is really only needed for single select
elements which would not otherwise has the disabled property.

This was identified in a previous accessibility audit as being
something which Select2 did not properly report because we were
not setting the attributes properly.

Fixes #4575
2019-07-21 11:44:09 -04:00
Kevin Brown
6f88568c99
Merge pull request #37 from select2/develop
Release Select2 4.0.8
2019-07-20 23:24:25 -04:00
Kevin Brown
dd90704377 Bump versions for Select2 4.0.8 release 2019-07-20 23:22:02 -04:00
Kevin Brown
eeefa1e449
Merge pull request #5577 from select2/release/4.0.8
[Release] 4.0.8
2019-07-20 23:12:39 -04:00
Kevin Brown
5005c564c2 Update changelog for 4.0.8 2019-07-20 23:09:14 -04:00
Kevin Brown
8b55e47604 Recompile dist for 4.0.8 2019-07-20 23:05:45 -04:00
Kevin Brown
6fbe132e50 Bump versions for 4.0.8 release 2019-07-20 23:02:46 -04:00
Kevin Brown
bbd320d75e Convert source and tests to unix newlines 2019-07-20 23:01:38 -04:00
Kevin Brown
1b5a962819
Revert change to focusing behaviour in 4.0.6 (#5576)
This behaviour, where the focus was happening on a small asynchronous
delay, was added in commit 933189b92 late last year in a commit with
no supporting tickets or commit message explaining what the change
was trying to accomplish. This commit has effectly been reverted within
this commit, since it caused a regression in how focus was being
assigned that made it inconsistent with a standard `<select>`.

A test was added for this which ensures that we won't see that
regression again.

Fixes #5532
Fixes #5185
Closes #5552
2019-07-20 22:44:28 -04:00
Kevin Brown
d9260254c1
Fix infinite scroll when the scrollbar is not visible (#5575)
Ever since the 4.0.0 release of Select2, there has been a bug where
if you enabled infinite scrolling but did not return enough results
on the first load of AJAX to show a scrollbar, then infinite
scrolling would not be enabled and you could not view anything other
than the first page of results. The solution for this was first
proposed in #3888 but it was closed off because of inactivity and
missing tests.

This fixes the issue by performing the check to see if more results
should be loaded both on scroll and also when the results are first
loaded. This solves the issue that we were seeing before, because
the plugin knows it needs to load in more results, just it did not
receive the scroll event before and thus was not able to actually
load in the new results.

This has the potential to trigger multiple AJAX requests to load in
multiple pages of results if the user has the ability to see many
options, but only a few are being loaded at a time.

This also adds tests for infinite scrolling, both to ensure that
it will attempt to load additional pages, even without the scrollbar,
and to ensure that the regular behaviour of not loading additional
pages when the scrollbar is visible is preserved.

Fixes #3088
2019-07-20 18:09:17 -04:00
kevin-j-morse
8a5aeabcce Remove deprecated jQuery shorthand (#5564) 2019-07-20 16:05:48 -04:00
Min ho Kim
9c4f0c86a1 Fix typos (#5574) 2019-07-20 12:42:18 -04:00
Kevin Brown
1f79acbe5f Fix XSS issue in AJAX example 2019-07-10 00:25:40 -04:00
Kevin Brown
1c394a421b Fix XSS issue in templating example 2019-07-10 00:00:02 -04:00
Kevin Brown
03e1b69751 Merge branch 'master' into develop 2019-07-09 23:24:30 -04:00
Kevin Brown
bd7ac9df03
Results respect disabled state of <option> (#5560)
This check is in place in most other places, mostly because we have
run into widespread issues under similar circumstances and we like to
avoid those, but it was forgotten here. There also were no tests
covering this, so it was never caught.

This adds tests that ensure that the option in the results list will
be generated with the correct "disabled" state based on whether or
not it, or a parent element, is marked as disabled.

This should have been easy: just check `element.disabled`

Unfortunately the `disabled` property is not inherited within the
option chain, so if an `<optgroup>` is disabled, the `<option>`
elements or other `<optgroup>` elements held within it do not have
their `disabled` property set to `true`. As a result, we needed to
use the `matches` method to check if the `:disabled` state is
present for the element. The `matches` method is part of the official
standard, but it was not implemented under that name for a while and
as a result Internet Explorer only supports it under the prefixed
`msMatchesSelector` method and older versions of Webkit have it
implemented as `webkitMatchesSelector`. But once we use this method,
it appears to consistently return the expected results.

This `matches` method and prefixed predecessors are not supported in
IE 8, but they are supported in IE 9 and any browsers newer than
that. Instead of buulding a very hacky solution using
`querySelectorAll` that was brittle, I have chosen to act like
everyone else and pretend IE 8 no longer exists.

Fixes #3347
Closes #4818
2019-07-09 20:58:13 -04:00
Kevin Brown
b5f136ff72
Add computedstyle option for calculating the width (#5559)
This allows for more accurate resolution of the width when compared
to the `resolve` method. This is more relevant for jQuery 1.x, where
the `resolve` method cannot find the width of a hidden select box,
but it also applies to newer versions of jQuery where the `width()`
method provided by jQuery doesn't fully match `getComputedStyle()`.

Fixes #3278
Fixes #5502
Closes #5259
2019-07-09 19:44:33 -04:00
Kevin Brown
f9decd6094
Fix tag creation being broken in 4.0.7 (#5558)
* Add test for losing focus when searching tag entries

* Revert unknown unit test fix

Removing this no longer breaks a unit test, and having it in here
results in the select box receiving focus unexpectedly. It's not
clear what problem this was solving, since it was manually applied
from a series of pull requests.

It claims to be fixing an issue that was specific to IE11, and I'm
willing to re-introduce that bug because there doesn't appear to be
a regression test for it, and it's breaking some critical use cases.

The goal should be to focus the search box if it would have normally
lost focus when the selection was updated.

Fixes #5485
Fixes #5516
Closes #5550
2019-07-09 19:13:03 -04:00
Kevin Brown
9491e1aae2
Test against jQuery 3.4.1 (#5531)
* Update tests to be compatible with jQuery 3.0.0

There was a change in jQuery 3 that ensures that the return value of `.val()` on a multiple select is always an array. This is a breaking change from previous versions, where `null` or `undefined` were returned in these scenarios. Because we cannot `assert.equal` on a list of possible values, these assertions were switched to `assert.ok` which should be good enough.

* Properly strip out units in positioning tests

Before we were assuming that there were no units, and only were we stripping them out if we were expecting 3 digits. Now we just strip out all non-digit characters, so that should do the job and get us what we want.

There was a change in jQuery 3.2.0 that caused the units to be returned in these specific calls. They were not previously being returned, so this was not actually an issue.

* Add automated testing against jQuery 3.4.1

No tests appear to be currently failing.
2019-06-25 22:05:15 -04:00
Waseem Ahmad
d66e55dd9e removed select2-selection__placeholder from _multiple.scss (#5508) 2019-06-25 21:59:56 -04:00
Kevin Brown
5d2fdd75b5
Update grunt-contrib-qunit to latest version (#5530)
We needed to define the `qunit` module in the unit tests because there was a change in grunt-contrib-qunit 0.6.0 that breaks when you define an AMD loader. It expects that the AMD loader is also used to load QUnit, instead of just being used to support the tests, so if you don't define the qunit module it will just hang and do nothing. Luckily we have the helpers file to help us out here, since it allows us to globally define this module.
2019-06-04 22:43:52 -04:00
Kevin Brown
70ca392a43
Update dev dependencies (#5529)
* Update dev dependencies

* Adjust dependencies versions to avoid unmet peer dependency error

* Update Travis CI node version to 8

* Recompile dist

This updates all of the minified files to use the latest uglifyjs version, which results in better compression (by a small margin).
2019-06-04 21:18:37 -04:00
bufferUnderrun
36b226d509 Improve French Translation (#5521)
better translation of the english word "items" to "éléments"
2019-06-04 20:47:35 -04:00
Kevin Brown
d53958ad2b
Clean up docs (#5528)
* Remove SauceLabs credentials

SauceLabs is no longer used during builds, so we no longer need to include these encrypted credentials.

* Clean up badges

* Remove SauceLabs from the README

* Misc README fixes

* Disable Travis email notifications

Looks like we accidentally re-enabled these when removing IRC.
2019-06-04 20:46:45 -04:00
Kevin Brown
0a612f92e1
Automatically deploy to NPM (#5527)
* Added deployments to NPM on tagged releases

Previously this was being done manually after each release, which resulted in a few releases not showing up on NPM for  a significant amount of time. Now the builds should be automatically pushed, which should hopefully improve a lot of the issues we were seeing.

* Drop IRC notifications

We no longer use this IRC channel.

* Clean up .travis.yml

* Remove grunt ci

This is no longer needed now that we don't do anything special for CI builds. This also allows us to minify during CI builds, which will be useful for the tagged builds which depend on these minified files being up to date (so they can get released as well).
2019-06-04 20:26:11 -04:00
Patrizio Bekerle
ad0451d2fd Fix a typo (#34) 2019-06-04 19:54:11 -04:00
Kevin Brown
8020724bd2 Bump versions for Select2 4.0.7 release 2019-05-07 16:22:31 -04:00
Kevin Brown
04fce55967
Merge pull request #5507 from select2/develop
Release Select2 4.0.7
2019-05-07 16:14:21 -04:00
Kevin Brown
f8193c6c82
Merge pull request #5506 from select2/release/4.0.7
[Release] 4.0.7
2019-05-07 16:08:47 -04:00
Kevin Brown
5285eef7b5 Recompile dist for 4.0.7 2019-05-07 16:05:00 -04:00
Kevin Brown
20ffd1296a Bump versions for 4.0.7 release 2019-05-07 16:02:59 -04:00
Kevin Brown
d0ddab6ceb
Merge pull request #5494 from select2/develop
Release Select2 4.0.7-rc.0
2019-04-30 23:44:31 -04:00
Kevin Brown
df3c343490
Merge pull request #5493 from select2/release/4.0.7-rc.0
[Release] 4.0.7-rc.0
2019-04-30 23:41:42 -04:00
Kevin Brown
2596f2ab9c Update changelog for 4.0.7-rc.0 release 2019-04-30 23:37:24 -04:00
Kevin Brown
647533e981 Recompile dist for 4.0.7-rc.0 release 2019-04-30 23:37:08 -04:00
Kevin Brown
48e2f56fea Bump versions for 4.0.7-rc.0 release 2019-04-30 23:33:21 -04:00
Carlos Abalde
f6c455cea9 Do not close on select if Ctrl or Meta (Cmd) keys are being held as described in #3400 (#5222)
Fixes #3400
2019-04-30 23:29:11 -04:00
Kevin Brown
2a5f46bcc4
Move almost and jquery-mousewheel to devDependencies (#5489)
These two are required at build time to generate the full builds
of Select2 (for jQuery Mousewheel) and to inject the AMD loader
(for Almond.js). They are not required for anyone who depends on
Select2, since jQuery Mousewheel is an optional dependency.

This may result in some people needing to add jQuery Mousewheel to
their projects as a required dependency, if they were expecting
it to be added by Select2 before.
2019-04-30 23:15:22 -04:00
Austin S. Hemmelgarn
39bfabd94b Revert PR #5356. (#5492)
It doesn't really do what it says it does, and it introduces other
issues (single select elements re-open after selection).

Fixes #5490
2019-04-30 23:13:50 -04:00
Kevin Brown
a1bd03c408 Bump versions for Select2 4.0.6 release 2019-04-28 04:06:35 -04:00
Geoffroy ARNOUD
3c26bd0ebd Update docs.md (#29)
Fixed "paginate" into "pagination" in optgroups formmat
2019-04-28 14:39:26 -04:00
Takashi Kanemoto
6009970b10 docs: add link to @ttskch/select2-bootstrap4-theme to README.md (#5487) 2019-04-28 00:06:02 -04:00
Kevin Brown
5dcc1022bf
Merge pull request #5488 from select2/develop
Release Select2 4.0.6
2019-04-27 23:14:15 -04:00
Kevin Brown
3e9809d715 Update changelog for 4.0.6 release 2019-04-27 23:02:30 -04:00
Kevin Brown
a2bfa6c867 Recompile dist for 4.0.6 release 2019-04-27 22:43:33 -04:00
Kevin Brown
a8ea4cc3e3 Bump versions for 4.0.6 release 2019-04-27 22:42:34 -04:00
Kevin Brown
b4aa3529f3 Removed unused files
* select2.jquery.json - This was previously used by the jQuery Plugin
  Registry which was shut down and put into read-only mode a few
  years ago. Since nobody else appears to use this file, it doesn't
  make sense for us to keep bumping the version in it and keeping it
  up to date.
* vendor/ - This was needed back when the full version of Select2
  actually bundled its own version of jQuery. Since we never actually
  did this, we no longer need to keep the copy of jQuery around.
2019-04-24 17:25:35 -04:00
Kevin Brown
650035cf38
Restore compatibility with data-* attributes in jQuery 2.x (#5486)
* Start running tests against jQuery 2.x

We were only running tests against jQuery 1.x before and they were
all passing. This was a problem because apparently all of the data-*
attribute tests fail in jQuery 2.x.  We are now running both the
integration and unit tests against both jQuery 1.x and jQuery 2.x.

Right now this resulted in a complete duplication of the test files
because there wasn't an obvious way to run the tests against both
versions. We're going to look into removing this duplication in the
future once the current issues are fixed.

We are also going to look into testing against jQuery 3.x in the
future, since that is also a supported line of jQuery.

* Force the data-* attributes to be parsed

There was a change made that switched us from using `$.data` and
`$.fn.data` internally to using an internal data store (managed
through internal utilities). This had the unfortunate side effect
of breaking the automatic loading of data-* options in versions of
jQuery other than 1.x, which included anything that would be
considered modern jQuery. While the change was made and approved
in good faith, all of the tests passed and the docs pages appeared
to be working, the tests really failed when running on newer versions
of jQuery. This was confirmed when we started running automated tests
against both versions, which confirmed the bug that others have been
seeing for a while.

The change was made becuase calling `$.fn.data` on an element which
contains a reference to itself in the internal jQuery data cache
would cause a stack overflow. This bug was well documented at the
following GitHub ticket and was resolved by no longer using
`$.fn.data`: https://github.com/select2/select2/issues/4014

Unfortunately because `$.fn.data` was no longer being called in a
way such that all of the data attributes would be dumped out, we
needed to find a replacement. The substitute that was given in the
original bug fix worked when the data cache was fully primed, but
we never primed it anywhere so it actually failed in the general
case. That meant we needed to find a way to manually prime it,
which is exactly what this change does.

* Clean up select2/utils
2019-04-27 22:20:56 -04:00
Kevin Brown
9f8b6fff40
[WIP] Get Grunt consistently working again (#5466)
Get Grunt consistently working again
2019-03-19 23:16:01 -04:00
Anastasios Gogos
5977856d81 minor fix (greek omega used has no diacritic) (#5464)
replaced \u03C9 (GREEK SMALL LETTER OMEGA: ω)
with \u03CE (GREEK SMALL LETTER OMEGA WITH TONOS: ώ)
2019-03-18 23:19:52 -04:00
Rodrigo
a9c1b617fa Update composer to remove deprecated dependency (#5165) 2019-03-18 22:36:26 -04:00
MaximAL
9032705e2a More suitable spelling ещё instead of еще (#5401) 2019-03-12 22:13:49 -04:00
Thanh Phan
97c5304518 Update Vietnamese (vi) translation (#5387) 2019-03-12 22:10:00 -04:00
Kevin Brown
b3705b13be Enable the Stale integration
Right now we have a ton of old, stale tickets and this should allow us to get a hold of the problem and try to get ahead of it.
2019-03-12 22:07:42 -04:00
niftylettuce
d86894d890 Added documentation example for BS3 modal shown event binding (#12)
* Added documentation example for https://github.com/select2/select2/issues/5189

* Update docs.md
2018-09-17 13:51:04 -03:00
Nisha Kaushik
14a059d7ee #4530 Add tooltip (title) to the 'remove all' 'X' icon. (#5291)
* #4530 Add tooltip (title) to the 'remove all' 'X' icon.

* #4530 Add tooltip (title) to the 'remove all' 'X' icon.

* #4530 Add tooltip (title) to the 'remove all'

* Revert dist folder.

* add tk.js from pull request.
2018-09-15 16:22:54 -03:00
Pedro Felipe de Azevedo Furtado
933189b92e
Update base.js 2018-09-15 01:14:25 -03:00
Pedro Felipe de Azevedo Furtado
db30f66afc
Update focusing-tests.js 2018-09-15 00:17:56 -03:00
Pedro Felipe de Azevedo Furtado
f546886b92
Update docs.md 2018-09-15 00:13:08 -03:00
Stephen
aac9916894 add cdn badges (#5167) 2018-09-15 00:06:14 -03:00
Pedro Felipe de Azevedo Furtado
c2acb18509
Update focusing-tests.js 2018-09-14 23:54:19 -03:00
Pedro Felipe de Azevedo Furtado
1062187958
Update defaults.js 2018-09-14 23:40:28 -03:00
Simon Charette
1764b8420f Added the right single quotation mark to diactritics. (#4337)
It should be simplified to a typewriter apostrophe.
2018-09-11 16:43:45 -03:00
ellenhutchings
9ffcc260a0 Add migration rename information (#22)
Include information on the createSearchChoice -> createTag, selectOnBlur -> selectOnClose changes within migration page
2018-09-11 15:47:12 -03:00
Pedro Felipe de Azevedo Furtado
8bc269d63e
Update base.js (#5357) 2018-09-11 15:32:24 -03:00
Pedro Felipe de Azevedo Furtado
2ea17181e3
PR for -> autofocus isn't supported #3696 (#5356)
* Update core.js

* Update core.js

* Update core.js
2018-09-11 15:28:59 -03:00
Eliyas Hossain
e15046e959 Add Bangla (bn) localization (#5248) 2018-09-07 10:48:32 -03:00
Bowei Han
2b049c08ab Add scrollAfterSelect as a configurable option for multiselect dropdowns to allow toggling of highlightFirstItem() behaviour (#5150)
* Add scrollOnSelect as a configurable option

* default scrollOnSelect to true to avoid modifying existing behaviour

* added tests and default option for scrollAfterSelect
2018-09-05 17:36:20 -03:00
Pedro Felipe de Azevedo Furtado
165f945937
Update docs.md 2018-09-05 17:35:04 -03:00
Krzysztof Śmiałek
3b44ae2997 Add info about the new clear event (#3)
Related to pull request #5058 in `select2/select2`.
2018-09-05 17:27:59 -03:00
Jonathan Berger
8fc2e93fd9 Improve language for required properties (#13)
The existing language is a bit awkward. This change reads more cleanly, naturally, and accurately.
2018-09-05 17:25:21 -03:00
mlpo
e67c9aa34d Add missing diacritics to diacritics.js (#4118) 2018-09-05 14:31:46 -03:00
Alfredo Barron
2c613555ec Add integration in Angularjs (#4331) 2018-09-05 14:29:52 -03:00
Michael J Erwin
7c50570624 fix typo in comment in attachBody.js (#5182) 2018-09-05 14:27:11 -03:00
Pedro Felipe de Azevedo Furtado
60ee4a1179
Revert "Fix pluralization (#5307)" (#5354)
This reverts commit 5968dccc4c.
2018-09-04 22:14:22 -03:00
Albin
5968dccc4c Fix pluralization (#5307)
The test return always 's' in translations : inputTooLong, inputTooShort, maximumSelected
2018-09-04 22:13:50 -03:00
Tim Graham
ec7c57c288 Fix typos in comments (#5336) 2018-09-04 22:11:36 -03:00
Christian Fritsch
9e613ff22e Add drupal plugin (#5349) 2018-09-04 22:09:39 -03:00
hartator
663a7d193d Make it clearer that "minimumInputLength" should be set as a Select2 option and not inside the AJAX hash. select2/select2#38 (#15) 2018-09-04 21:53:19 -03:00
Tom McLean
591e6a4855 Document dropdownCss and containerCss (#20)
It is not clear that these options expect objects. I tried a string for the entire style-attribute before searching through the sourcecode.
2018-06-02 00:27:17 -04:00
Emmanuel BALLERY
ce57141fe3 Fixed typo (#21)
The example data response for AJAX included the wrong key for pagination.
2018-06-02 00:24:36 -04:00
Samundra Shrestha
d1a57156f7 Add Nepali (ne) localization (#5295)
* Add Nepali (np) localization

* rename np.js to ne.js

Closes #5294
2018-05-24 23:01:22 -04:00
Kevin Brown
69098b179d
Merge pull request #14 from jonathanberger/patch-2
Better title and description
2018-03-24 21:09:39 -04:00
Avtandil Kikabidze
3fb9e4fceb Add georgian (ka) localization (#5179)
* Add georgian (ka) localization

* Fix jshint warning

* Minor fix
2018-02-11 16:36:11 -05:00
ebejko
4346273721 Add Albanian localization (#5199)
* Add Albanian localization

* Fix travis error

* Rename al.js to sq.js
2018-02-11 16:31:24 -05:00
Jonathan Berger
83631cd87b
Better title and description
This isn't really an "API". Rather it's a list of options. I've changed the title and description to match this.
2018-01-21 21:09:07 -08:00
Jimmie Lin
26c8b9fa07
Fix minor spelling error in events page 2017-12-14 18:39:54 +08:00
alexweissman
61ba192a3a update Select2 version 2017-12-07 21:15:57 -05:00
alexweissman
c90adc102b update changelog and compile+minify for 4.0.6-rc.1 2017-11-21 23:16:57 -05:00
rodrigo.perez
34e8b695f0 Fix up arrow error when there is no options 2017-11-21 20:38:03 -05:00
N'Bayramberdiyev
0087114474 Create tk.js 2017-11-21 20:36:26 -05:00
razh
eeba16b9c4 Remove duplicate CSS selector in classic theme
Closes #5100
2017-11-21 20:33:18 -05:00
tchiotludo
0ad18a00b8 Fix french locale 2017-11-21 19:51:39 -05:00
Nadeem Afana
6d0ecbc912 Exposes select2 instance via .data('select2') 2017-11-21 10:34:09 -05:00
alexweissman
944dfd87d3 Merge branch 'patch-1' of https://github.com/zomberg/docs into develop 2017-11-18 19:05:25 -05:00
alexweissman
33f5500adf update CDN version in installation instructions 2017-11-18 18:55:21 -05:00
Slava Pavlov
ee6bb70131
Added missed commas 2017-11-11 14:10:01 +03:00
alexweissman
5424333425 Merge branch 'hotfix' into develop 2017-11-04 20:49:12 -04:00
alexweissman
e02b34ba0f update jsbin links 2017-11-04 20:48:55 -04:00
alexweissman
71b74d9d38 update jsbin template 2017-11-04 20:42:39 -04:00
alexweissman
14f53e7e41 Fix IE11 issue with select losing focus after selecting an item (#4860) 2017-10-27 12:41:34 -04:00
Tore Olav Kristiansen
bca6a50331 Fixed unit test issue and typo in Norwegian translation 2017-10-27 12:39:31 -04:00
ToreOlavKristiansen
45ee7340e5 Fixed Chrome issue: lost focus after selecting a value 2017-10-27 12:39:22 -04:00
ToreOlavKristiansen
6eee443d67 Fixes IE11 issue with select loosing focus having selected an item. 2017-10-27 12:39:10 -04:00
alexweissman
d9b8624682 bump for 4.0.6-rc.1 2017-10-26 18:22:26 -04:00
alexweissman
a48382e44d compile+minify for 4.0.6-rc.0 2017-10-26 14:19:09 -04:00
alexweissman
1864a3d538 Cache objects in Utils.__cache instead of using $.data (#4346) 2017-10-26 14:12:50 -04:00
alexweissman
62c4f6332b Merge branch 'master' of https://github.com/NadeemAfana/select2 into develop 2017-10-26 14:03:02 -04:00
alexweissman
77acc56a1e fix line length to keep jslint happy 2017-10-26 13:48:29 -04:00
alexweissman
16391c3f58 how the heck did they get a tab in there? 2017-10-26 13:38:07 -04:00
alexweissman
20429201c8 Removing the double event binding registration of "selection:update" within SingleSelection.prototype to prevent multiple calls on the selection event (#4306) 2017-10-26 13:35:58 -04:00
alexweissman
05208f9775 Improve .select2-hidden-accessible (#4908) 2017-10-26 13:25:58 -04:00
Gaël Poupard
7ca986701a Improving .select2-hidden-accessible
To match last standards, see [CSS hide and seek](http://hugogiraudel.com/2016/10/13/css-hide-and-seek/) for more explanations :)

Also I removed the negative margin because of unwanted effects in some case, as seen on Bootstrap.
2017-10-26 13:24:48 -04:00
alexweissman
254d3ba422 Add role and aria-readonly attributes to single selection dropdown value (#4881) 2017-10-26 13:22:54 -04:00
Michal Kleiner
01d881c8ae Move role and aria-readonly attributes from render function to bind function 2017-10-26 13:21:57 -04:00
Michal Kleiner
e1cda22475 Add role and aria-readonly attributes to single selection dropdown selected value 2017-10-26 13:21:57 -04:00
alexweissman
edf1ba17cb perform deep merge for Defaults.set() (#4364) 2017-10-26 13:18:46 -04:00
nobodyman
2270afa6c7 more typos 2017-10-26 13:17:26 -04:00
nobodyman
6d35b1931b fixing typos in test 2017-10-26 13:17:26 -04:00
nobodyman
8398788069 perform deep merge for Defaults.set() 2017-10-26 13:17:26 -04:00
Tim Kang
6ff10680a6 Use attr instead of prop for select2-selection__rendered title (#4640)
See #3895, and jQuery docs on `attr`:

> As of jQuery 1.6, the .prop() method provides a way to explicitly retrieve property values, while .attr() retrieves attributes.
2017-10-26 13:06:23 -04:00
Tim Kang
a395ad1d75 Add failing tests
See #3895
2017-10-26 12:59:04 -04:00
alexweissman
3d8864bcfa Fix "the results could not be loaded" displaying during AJAX request (#4356) 2017-10-26 00:38:26 -04:00
Michael Mackus
cd08d805a4 Check for string value 2017-10-26 00:36:45 -04:00
MichaelMackus
c56c20cff0 Fix AJAX data source error
Fixes #4355

Verified in Firefox & Chromium
2017-10-26 00:36:31 -04:00
alexweissman
50bf3cdd59 Implement clear and clearing events (#5058) 2017-10-26 00:31:25 -04:00
Krzysztof Śmiałek
04d3a5da66 Add dedicated event for clearing
Closes #4929, #5045.
2017-10-26 00:30:31 -04:00
Krzysztof Śmiałek
10bda78b37 Fix value not being cleared when unselect event is emitted
Fixes #5049.
2017-10-26 00:30:24 -04:00
Jevon Wright
43ffaea244 Add style property to package.json (#5019)
By adding a reference to the main dist CSS, gulp tools such as `sass-module-importer` can automatically import the stylesheet
2017-10-26 00:27:34 -04:00
alexweissman
18929d6e5a Add ; before beginning of factory wrapper (#5089)
Adding ending statement at the start of the code as absence of that causes console error while concatenating files.
2017-10-25 23:17:05 -04:00
alexweissman
09688ff6d2 Clear tooltip from select2-selection__rendered when selection is cleared (#4746) 2017-10-25 23:12:58 -04:00
shivamgupta001
1cf42cf6a8 on clear cleared tooltip too when placeholder present 2017-10-25 23:12:35 -04:00
shivamgupta001
e2c654b0ec on clear cleared tooltip too when placeholder present 2017-10-25 23:12:20 -04:00
alexweissman
ef2ef8b685 Fix keyboard not closing when closing dropdown on iOS 10 (#4680) 2017-10-25 22:45:29 -04:00
alexweissman
7d41ea153e Merge branch 'hotfix' into develop and bump for 4.0.6-rc.0 2017-10-25 18:37:05 -04:00
alexweissman
ebf10c93db compile+minify for 4.0.5 release 2017-10-25 18:08:18 -04:00
alexweissman
a0df1e86dd update changelog 2017-10-25 18:06:12 -04:00
alexweissman
633e707424 Merge branch 'patch-1' of https://github.com/frkami123/select2 into hotfix 2017-10-25 18:04:57 -04:00
alexweissman
2a21adeb2e Merge branch 'patch-2' of https://github.com/ettiennelouw/select2 into hotfix 2017-10-25 17:59:11 -04:00
alexweissman
a3952c7302 Replace autocapitalize=off with autocapitalize=none (#4994) 2017-10-25 17:52:35 -04:00
alexweissman
65f85c3109 Merge branch 'master' of https://github.com/mnrafg/select2 into hotfix 2017-10-25 17:46:47 -04:00
alexweissman
46ed8ae3ae bump version to 4.0.5 2017-10-25 17:46:02 -04:00
alexweissman
58d9836b7d minor formatting fixes for #5093 2017-10-25 16:55:40 -04:00
alexweissman
dac0433e2f bump for 4.0.5-rc.0 2017-10-25 16:55:19 -04:00
Julian Yuste
b11d6e20b0 Fix for issue #4632 2017-10-25 18:25:50 +02:00
Alex Weissman
d9703c4d1d Merge pull request #7 from anhphamt/patch-1
Update docs.md
2017-10-24 18:15:28 -04:00
Anh Pham
27a29f21e9 Update docs.md
Fix small issue with sample script.
2017-10-24 10:40:12 +07:00
alexweissman
b559310216 extra-last-resort 2017-10-23 18:59:42 -04:00
alexweissman
bf6c3c90af last resort 2017-10-23 18:51:12 -04:00
alexweissman
f0a3058c4d set platform for all browsers in grunt-saucelabs tests 2017-10-23 18:40:07 -04:00
alexweissman
131743d255 try the testTimeout param instead 2017-10-23 18:21:34 -04:00
alexweissman
f764f89325 Increase statusCheckAttempts in saucelabs qunit tests 2017-10-23 17:33:06 -04:00
alexweissman
887465f4ae update contributing, issue template docs 2017-10-23 15:11:39 -04:00
alexweissman
e382d971d6 link to new forum, and add jsbin template 2017-10-22 22:31:47 -04:00
alexweissman
01f821f307 update changelog 2017-10-21 13:45:09 -04:00
alexweissman
e6bd9d72ac document disabling search for multi-select (#4797) 2017-10-12 11:55:01 -04:00
alexweissman
fffbad9463 link to v3 docs 2017-10-12 11:23:42 -04:00
alexweissman
b746ddbd90 explain the need to unbind events after calling destroy 2017-10-12 11:12:59 -04:00
alexweissman
7eef84ec1a clarify user-defined widths (#5078) 2017-10-11 22:50:52 -04:00
alexweissman
93c163965d clarify use of placeholders (#4660) 2017-10-11 22:42:44 -04:00
alexweissman
444906bb6d Add Bower to installation docs (#5047) 2017-10-11 22:31:42 -04:00
alexweissman
e04675a234 selecting multiple items programmatically (#5068) 2017-10-11 22:31:19 -04:00
alexweissman
94b06e64c1 Merge branch 'develop' of https://github.com/select2/docs into develop 2017-10-11 19:48:18 -04:00
alexweissman
5fc339ba88 explain server-side filtering 2017-10-11 19:48:15 -04:00
Alex Weissman
a929ef9bef Merge pull request #4 from kochnev/patch-1
Update docs.md
2017-10-11 19:47:37 -04:00
Alexander
3e06ef43b9 Update docs.md 2017-09-28 17:42:55 +03:00
Muhammad Nasir Rahimi
e579207ab9 Merge pull request #1 from mnrafg/1b2d043
ps.js file removed from dist/
2017-09-27 23:01:00 +04:30
Muhammad Nasir Rahimi
23b3896bcf ps.js file removed from dist/ 2017-09-27 22:57:22 +04:30
Kou Tsuneka
7c13ecc795 remove a unnecessary quote marks 2017-09-27 03:29:16 +07:00
alexweissman
c1e62b7db7 Czech: Add missing commas and periods (#5052) 2017-09-25 20:35:37 -04:00
alexweissman
0cc279ac75 Merge #4817 2017-09-25 20:33:40 -04:00
Ettienne Louw
671a87c764 Fixed Syntax Error
Based this on on ca.js file
2017-09-25 20:28:57 +02:00
Ivan Kvasnica
398870d982 Add missing commas and periods 2017-09-25 10:30:23 +02:00
alexweissman
3561810a64 Fix line lengths to keep Travis happy 2017-09-24 21:43:57 -04:00
alexweissman
ed24c34028 Fixes French translation (see #4988) 2017-09-24 21:38:04 -04:00
alexweissman
389aa1ab97 Add Bosnian (bs) 2017-09-24 16:42:12 -04:00
alexweissman
1afea17194 Fixed Norwegian inputTooShort message (#4896) 2017-09-24 16:28:47 -04:00
alexweissman
bdc70c80a0 Updated sk.js localisation (#4915) 2017-09-24 16:27:10 -04:00
alexweissman
9f55c376d2 Merge branch 'master' of https://github.com/milupo/select2 into hotfix 2017-09-24 16:23:30 -04:00
alexweissman
22e73a5586 Fix typo in Romanian
Merged from @peterlupu
2017-09-24 16:19:47 -04:00
alexweissman
dbe4b3d551 update changelog 2017-09-24 16:15:23 -04:00
alexweissman
4930f735fa Merge branch 'patch-1' of https://github.com/nelson6e65/select2 into nelson6e65-patch-1 2017-09-24 16:08:01 -04:00
alexweissman
b81e62a2eb update for 4.0.4 2017-09-24 13:20:09 -04:00
alexweissman
16f6b10628 Compile and minify for 4.0.4 release 2017-09-24 12:09:35 -04:00
alexweissman
4780f074aa More link fixes 2017-09-24 12:09:28 -04:00
alexweissman
2855656a2d Merge branch 'hotfix' 2017-09-24 12:03:26 -04:00
alexweissman
41edff388b lock version of node-sass and request to deal with Travis build issues
See https://github.com/sass/node-sass/issues/2100
2017-09-24 11:48:36 -04:00
alexweissman
a4ec7fa0c6 update versions and urls in package configs 2017-09-23 17:07:29 -04:00
alexweissman
904d9b11d1 Merge branch 'master' into hotfix 2017-09-23 16:36:34 -04:00
alexweissman
a12c134c90 Changelog! 2017-09-23 16:30:05 -04:00
alexweissman
0f75431d8d fix links 2017-09-22 12:23:01 -04:00
alexweissman
5a9c29462b add common problem (see #5048) 2017-09-22 12:19:50 -04:00
alexweissman
139fb04f92 Improvements to event docs (see #2) 2017-09-22 12:19:30 -04:00
alexweissman
2b8f165539 document pagination (#3308, #5006) 2017-09-14 13:00:32 -04:00
alexweissman
2a7ddab2ff Suggestions as per #4387. 2017-09-13 21:08:22 -04:00
alexweissman
12b757a116 Add name attribute to examples (see #4592) 2017-09-13 20:47:36 -04:00
alexweissman
5ce020f263 Merge branch 'GitHub-files' of https://github.com/PeterDaveHelloKitchen/select2 into hotfix 2017-09-13 19:56:23 -04:00
Alex Weissman
c4544077ae Merge pull request #4434 from PeterDaveHelloKitchen/GitHub-files
move GitHub related markdown files into .github
2017-09-13 19:55:34 -04:00
alexweissman
b61b7f4892 Improve matcher example (see #4668) 2017-09-13 19:34:37 -04:00
Peter Dave Hello
890fe27a21 Move GitHub related markdown files into .github 2017-09-14 07:19:20 +08:00
alexweissman
d2655a89ba Clarify use of matcher 2017-09-13 18:58:24 -04:00
alexweissman
356920421a Fix styling of multi-selects 2017-09-12 23:45:19 -04:00
alexweissman
275ae05128 Clarify #4244 and retrieval of selected items populated via AJAX 2017-09-11 21:06:38 -04:00
alexweissman
361f7fc312 Reorganize and expand AJAX documentation 2017-09-11 20:25:30 -04:00
alexweissman
c9bd2ad716 Addresses #4835 2017-09-11 20:24:54 -04:00
alexweissman
94b14f35a5 clarify some basic JS and jQuery concepts 2017-09-11 17:54:22 -04:00
alexweissman
7fd65b3025 expand the 'programmatic control' chapter 2017-09-11 14:34:54 -04:00
alexweissman
6657444d29 document programmatically adding options 2017-09-11 13:56:11 -04:00
alexweissman
46f6f76aad point back to original GA property 2017-09-10 23:24:32 -04:00
alexweissman
7b3e8c8c92 Add link to NextGI 2017-09-10 23:23:10 -04:00
alexweissman
da40dfbcc4 Update license for docs, and add links to footer. 2017-09-10 23:09:51 -04:00
alexweissman
553f6aa00d Add "common problems" section and address #4217 2017-09-10 21:53:08 -04:00
alexweissman
fa1d12582c Addresses #4583 2017-09-10 21:17:57 -04:00
alexweissman
a2482bd416 Addresses #5004. 2017-09-10 20:49:57 -04:00
Alex Weissman
88b84f7474 Merge pull request #5033 from select2/docs-redirect
Replace docs with a redirect
2017-09-10 18:04:00 -04:00
alexweissman
9cf5eb33d5 update README for /docs 2017-09-10 17:57:07 -04:00
alexweissman
4175214444 update links in readme 2017-09-10 17:48:47 -04:00
alexweissman
a3a8de87e3 implement additional redirects for other pages 2017-09-10 17:47:28 -04:00
alexweissman
4fc911f198 rename "programmatic control" to "methods and events" 2017-09-08 14:28:02 -04:00
alexweissman
af5c13f515 events docs 2017-09-08 14:27:18 -04:00
alexweissman
ec6901d89f "getting help" page 2017-09-08 14:23:33 -04:00
alexweissman
a05a26b3be author link 2017-09-07 23:59:48 -04:00
claudiulodro
67328e3a55 Replace docs with a redirect 2017-09-07 14:24:07 -07:00
alexweissman
b9ec2edede update README 2017-09-07 15:52:24 -04:00
alexweissman
2eadef964f update version in package manager config files 2017-09-06 17:05:28 -04:00
alexweissman
06d2293f3e add changelog 2017-09-06 17:03:04 -04:00
alexweissman
ca4de9dcb0 Merge branch 'focus-event' of https://github.com/nino-s/select2 into hotfix 2017-09-06 16:59:54 -04:00
Nelson Martell
5f7feeb801 Update es.js
Update the 'errorLoading' message.
2017-09-06 13:41:31 -04:00
alexweissman
50fa14c2d1 GA code 2017-09-06 10:52:14 -04:00
alexweissman
08f6165dc6 fix more links 2017-09-06 10:49:19 -04:00
alexweissman
7ca42508a8 fix more links 2017-09-04 01:38:36 -04:00
alexweissman
cdd620d763 Fix links 2017-09-03 23:22:18 -04:00
alexweissman
748eff7c4a finish advanced chapter 2017-09-03 23:09:17 -04:00
alexweissman
bb1fda2654 integrate announcements and backwards-compat 2017-09-03 22:23:13 -04:00
alexweissman
94c5c3a3fe begin integrating the "old options" page 2017-09-03 19:02:00 -04:00
alexweissman
38286400ca Fix i18n examples 2017-09-03 01:01:18 -04:00
alexweissman
7d0701399d Fix tagging examples 2017-09-03 00:47:09 -04:00
alexweissman
0257a66590 fix theme examples 2017-09-03 00:40:02 -04:00
alexweissman
29619aa43a Fix urls to images 2017-09-03 00:28:13 -04:00
alexweissman
05cc3a577a first take 2017-09-02 20:34:47 -04:00
alexweissman
0bbf614ee3 Clarify usage of processResults (#4706) 2017-09-01 13:08:08 -04:00
alexweissman
60e3925128 Provide example code for "can users remove all of their selections" 2017-09-01 12:52:37 -04:00
alexweissman
89c517b589 Merge branch 'patch-1' of https://github.com/ricardokenji/select2 2017-09-01 12:48:33 -04:00
alexweissman
22ac9d5f20 clarify exactly what "tagging" is 2017-09-01 01:18:58 -04:00
alexweissman
b0e5197e00 Merge branch 'patch-1' of https://github.com/marcaparent/select2 2017-09-01 00:32:46 -04:00
alexweissman
0459ac89f5 Results for grouped options (see #4662) 2017-08-31 18:36:44 -04:00
alexweissman
787d20ef0c Fix code highlighting 2017-08-31 18:34:19 -04:00
alexweissman
96f5f724d9 Merge branch 'master' of https://github.com/adw99/select2
Adds information about pagination data
2017-08-31 18:03:22 -04:00
alexweissman
f13ea6f5ff Merge branch 'docs-for-ajax-results-looks-like' of https://github.com/sedrubal/select2 2017-08-31 17:30:22 -04:00
alexweissman
8534d3e2ef Update instructions for building docs locally 2017-08-31 14:00:03 -04:00
Alex Weissman
9a79140920 Merge pull request #4921 from wouter-muller/patch-1
Fix minor typo in README.md
2017-08-31 12:19:56 -04:00
Muhammad Nasir Rahimi
1b2d0424e9 Translation improved 2017-06-18 10:50:10 +04:30
Muhammad Nasir Rahimi
dbb1132b7e JSHint maxlen fix 2017-06-17 13:44:22 +04:30
Muhammad Nasir Rahimi
5330a0cc62 Add Pashto (ps) Language 2017-06-17 13:29:44 +04:30
milupo
575e862f98 Create hsb.js 2017-06-11 20:02:09 +02:00
milupo
d914a6d5f5 Create dsb.js 2017-06-11 20:00:58 +02:00
milupo
5a7f832f12 Create dsb.js 2017-06-10 17:03:53 +02:00
milupo
3bc4522200 Create hsb.js 2017-06-10 17:03:05 +02:00
milupo
25fdc6bef4 Delete hsb.js 2017-06-10 17:02:15 +02:00
milupo
53c4c97411 Delete dsb.js 2017-06-10 17:01:36 +02:00
milupo
32ba6d7573 Create dsb.js 2017-06-10 16:04:48 +02:00
milupo
a4a095bda8 Create hsb.js 2017-06-10 16:02:59 +02:00
Wouter Muller
d6ccd09f5b Fix minor typo in README.md 2017-05-24 13:20:55 +02:00
depesr
5bb7446d24 Update sk.js 2017-05-23 07:22:18 +02:00
depesr
e43a1f2165 Updated sk.js localisation 2017-05-23 07:18:15 +02:00
Frederic G. Østby
f38d84df71 Fixed norwegian inputTooShort message. 2017-05-05 13:02:43 +02:00
Marc-Antoine Parent
a587e39288 Add example for single select element 2017-03-30 16:07:50 -04:00
Marc-Antoine Parent
e5fc98dda9 Update tags.html 2017-03-30 14:04:10 -04:00
Ettienne Louw
2b3dd18d35 Create af.js
Added afrikaans language file
2017-03-29 18:07:49 +02:00
Marc-Antoine Parent
d01457702d Add multiple selection specification to docs 2017-03-13 16:21:29 -04:00
Børge Antonsen
946149277e Simplified Norwegian(nb) translation to a more correct text 2017-03-02 10:13:57 +01:00
Kevin Brown
c155ca5b60 Merge pull request #4794 from crowchirp/patch-2
corrected typo
2017-02-13 17:18:32 -05:00
Chandan Rai
fafcc103a6 corrected typo 2017-02-14 00:33:16 +05:30
Chandan Rai
d54135c444 corrected typo 2017-02-13 13:44:39 +01:00
Olivier Contant
f3d1f5d0b8 Small typo on language (typed lanugage)
Small typo on language (typed lanugage)
2017-02-10 02:21:18 +01:00
Stan Senotrusov
f2ae054f21 Docs, remove mention of private API: jQuery's data in <OPTION> elements 2017-02-09 20:39:28 +01:00
Stan Senotrusov
36927664b3 Correct spelling in documentation. 2017-02-09 20:39:28 +01:00
Stan Senotrusov
bae34d4f8a Add event handler example to documentation on how to programmatically access a selection data. 2017-02-09 20:39:28 +01:00
Stan Senotrusov
576f93778d Add documentation on how to programmatically access a selection data. 2017-02-09 20:39:28 +01:00
James Pic
8dc02bcfb8 Merge pull request #4745 from FROGGS/patch-1
Show same options in example as used in demo
2017-01-30 22:20:16 +01:00
Tobias Leich
4ee9f7b5e2 Show same options in example as used in demo
The templateSelection option was used in the demo, but was not shown in the example code.
This commit fixes it, so that copy&pasting works as expected.
2017-01-11 17:18:16 +01:00
Kevin Brown
04c433d709 Merge pull request #4735 from simi/patch-1
correct typo in pt.js
2016-12-30 12:34:40 -05:00
Josef Šimánek
cd7d4be576 correct typo in pt.js 2016-12-30 18:22:49 +01:00
Kevin Brown
751b36767f Corrected linting issue in Turkish translation 2016-12-30 12:15:56 -05:00
mhamlet
f6fa52dcc0 Added Armenian Localization
This closes https://github.com/select2/select2/pull/3993.
2016-12-30 12:15:25 -05:00
osman orhan
fd4a082531 Add missing errorLoading to Turkish translation
This closes https://github.com/select2/select2/pull/4650.
2016-12-30 11:50:58 -05:00
Kevin Brown
a018dd84a7 Merge pull request #4697 from Shnoulle/patch-1
typo in ISSUE_TEMPLATE.md
2016-12-30 11:47:07 -05:00
Kevin Brown
3b8a5d3660 Merge pull request #4730 from quantus/master
Add missing finnish translations
2016-12-30 11:44:28 -05:00
Kevin Brown
763b3cef3f Updated grunt-saucelabs to the latest version
It was incorrectly set to 0.0.0 instead of 9.0.0 in
288f0283b1
2016-12-29 19:49:32 -05:00
Kevin Brown
04d582123d Recompile dist 2016-12-29 19:47:19 -05:00
Derrick Hammer
45a8773454 Fix UMD commonjs support
This is based on the UMDJS jQuery template available at
95563fd6b4/templates/jqueryPlugin.js

This closes https://github.com/select2/select2/issues/4557.
This closes https://github.com/select2/select2/pull/4558.
2016-12-29 19:40:09 -05:00
Kevin Brown
288f0283b1 Updated grunt-saucelabs to latest version 2016-12-29 19:29:01 -05:00
Kevin Brown
0358ee5287 Added two test cases (zero and empty string check)
This adds two test cases for 16b4840c0e.
2016-12-29 19:25:37 -05:00
Mike Dearman
16b4840c0e Support selecting options with falsy values
Previously you could not select an option which had the number 0
as its value, because there was a check which would detect it as
an option without a value. There was a similar issue with selecting
options which had a blank string as the value.

This closes https://github.com/select2/select2/issues/4604.
This closes https://github.com/select2/select2/issues/4516.
This closes https://github.com/select2/select2/issues/3252.
This closes https://github.com/select2/select2/issues/3519.

This closes https://github.com/select2/select2/pull/4605.
This closes https://github.com/select2/select2/pull/4517.
2016-12-29 19:23:48 -05:00
Kevin Brown
5313143fdf Merge pull request #4663 from sedrubal/fix-typos-in-docs
Fix typos in docs
2016-12-29 19:12:50 -05:00
Kevin Brown
c8d1c312c8 Merge pull request #4670 from josa42/add-license-to-bower-json
Add license to bower.json
2016-12-29 19:11:37 -05:00
Stephen A. Wilson
0a67287c7a Answer question about using HTML in selection template
This closes https://github.com/select2/select2/pull/4606.
2016-12-29 19:09:28 -05:00
Nimit Suwannagate
625fc78ee6 Add errorLoading translation of Thai language.
This closes https://github.com/select2/select2/pull/4521.
2016-12-29 19:01:37 -05:00
Leandro Regueiro
f3788e2cda Simplify Danish and Arabic translations
This closes https://github.com/select2/select2/pull/4547.
2016-12-29 18:59:44 -05:00
Leandro Regueiro
8fcc6202c3 Update Galician translation 2016-12-29 18:59:15 -05:00
mitja-p
8e6422c570 Add Slovene translation
This closes https://github.com/select2/select2/pull/4576.
2016-12-29 18:55:49 -05:00
niki7har
4df965219e Update de.js
The german errorLoading message was missing.

This closes https://github.com/select2/select2/pull/4711.
This closes https://github.com/select2/select2/pull/4591.
2016-12-29 18:48:18 -05:00
Sági György
7d1d133523 i18n hu.js update. Added errorLoading property.
This closes https://github.com/select2/select2/pull/4724.
2016-12-29 18:46:29 -05:00
Kevin Brown
1167bace78 Added tests for case insensitive tag matching
This adds a single test for cb9a904578.
2016-12-29 18:29:04 -05:00
Yaron Uliel
cb9a904578 Make tags matching case insensitive
This closes https://github.com/select2/select2/issues/3566
This closes https://github.com/select2/select2/pull/4509
2016-12-29 18:26:19 -05:00
Pekka Pöyry
124087ae2a Add missing finnish translations 2016-12-22 15:03:12 +02:00
Denis Chenu
3a1603ce03 typo in ISSUE_TEMPLATE.md
This pull request includes a

- [ ] Bug fix
- [ ] New feature
- [ ] Translation
- [x] Documentation

The following changes were made

- typo in ISSUE_TEMPLATE.md : ste**p**s

No ticket
2016-11-24 17:58:38 +01:00
Josa Gesell
321a2460eb Add license to bower.json 2016-11-03 11:23:50 +01:00
sedrubal
69600667e6
Fix typos in docs 2016-10-30 17:22:31 +01:00
sedrubal
793811757b
Docs for: What should the results returned to Select2 look like? 2016-10-30 17:18:44 +01:00
Kevin Brown
563198a4a2 Merge pull request #4597 from jpic/patch-1
Add django-autocomplete-light to integrations
2016-09-23 11:20:16 -04:00
James Pic
3f874a1db4 Add django-autocomplete-light to integrations 2016-09-22 00:08:19 +02:00
Kevin Brown
062c6c3af5 Merge pull request #4538 from luciano-jr/improve-documentation
Update select.html
2016-08-18 23:00:50 -04:00
Luciano Jr
ed5707a3d4 Update select.html 2016-08-17 17:10:47 +01:00
Kevin Brown
3f8492b62f Merge pull request #4441 from uestla/docs-1
docs: more appropriate terminology ("highlight" -> "focus")
2016-06-24 09:17:24 -04:00
Petr Kessler
6f21865d8a docs: more appropriate terminology ("highlight" -> "focus") 2016-06-24 09:54:06 +02:00
Kevin Brown
d2d7a9c381 Merge pull request #4435 from ZuBB/patch-1
fix(docs): corrected mistype
2016-06-21 10:00:56 -04:00
Vasyl Zuzyak
3a67616c2f fix(docs): corrected mistype 2016-06-21 16:57:19 +03:00
Nino Schoch
294e7e664d Fixed form focus lost 2016-06-16 13:45:21 +02:00
Kevin Brown
083c2112df Merge pull request #4389 from anasshekhamis/master
Correct typo in "options" page
2016-06-11 19:47:14 -04:00
Anas Shekhamis
ffe780db53 Correct typo in "options" page
Correct a typo in the "options" page, "Data Adapters" section, "Do the
id properties have to be strings?" part.
"&gt;select&lt;" to "&lt;select&gt;"
2016-05-29 12:36:00 +03:00
Kevin Brown
566c7846fb Update version identifiers for 4.0.3 2016-05-26 21:16:06 -04:00
Kevin Brown
24a8d73a99 Recompile dist 2016-05-26 20:53:18 -04:00
Kevin Brown
2343fd4ae4 Clarify the Bootstrap docs notice with the dropdownParent option
This closes https://github.com/select2/select2/pull/4253.
2016-05-26 20:52:37 -04:00
Kevin Brown
8bc4f5d41d Added createTag code samples
This lays down part of the path for
https://github.com/select2/select2/issues/4023 as well as
https://github.com/select2/select2/issues/3974.
2016-05-26 20:50:12 -04:00
Harry
7eab29e271 Added Greek (el) translation
Translated English (en) language file to Greek (el).

This closes https://github.com/select2/select2/pull/4139
This closes https://github.com/select2/select2/pull/4146
2016-05-26 20:36:22 -04:00
Kevin Brown
7505347a69 Merge pull request #4379 from petruavram/master
[Docs] Add favicon
2016-05-26 20:25:39 -04:00
Petru-Vasile Avram
d34bff5797 Add favicon
I used the logo image on the site to generate a favicon using
[Real
Favicon Generator tool](http://realfavicongenerator.net/).
2016-05-25 10:25:47 +03:00
Kevin Brown
a74547aaa7 Migrate from expect to assert.expect
After we upgraded to QUnit 1.23.1, we gained support for
assert.expect(). This allows us to guard against any race conditions
within tests, because now expect() will be linked to the specific test
instead of the current running test.
2016-05-23 23:38:45 -04:00
Kevin Brown
2805fa7aa4 Add tests for detecting added and removed options
This adds tests for ea79a197e0.
2016-05-23 23:32:02 -04:00
Kevin Brown
ea79a197e0 Select2 now detects added and removed options
Select2 will now automatically update the selection if there are options
added to or removed from the DOM within the `<select>` element. This is
supported in all browsers except for Internet Explorer 8. Internet
Explorer 8 does not support the DOM mutation events which were added in
Internet Explorer 9, and it does not support mutation observers which
are the recommended way of handling this in modern browsers.

DOM mutation events also trigger for the `<select>` itself when it is
pulled from the DOM, so we need to filter these out within the event
handler.

Despite supporting mutation observers, we cannot accurately detect if
the removed option was selected at one time or another, so we need to
always re-pull the selection when an element is deleted.

This closes https://github.com/select2/select2/issues/4248
This builds upon https://github.com/select2/select2/pull/4249
2016-05-23 23:31:17 -04:00
Kevin Brown
a75482fd30 Upgrades QUnit to 1.23.1
This was required for us to get assert.async() support within tests, as
well as assert.expect() support. This was required because we need them
for multiple async tests that are coming.
2016-05-23 23:25:13 -04:00
Kevin Brown
99c248cc34 Recompiled dist 2016-05-14 22:34:03 -04:00
Kevin Brown
4b9e02f022 Corrected check for opening the dropdown
This corrects the check that was used when the dropdown was opened, so
the results would be immediately rendered instead of delaying the
loading. Previously it would delay the immediate load but immediately
load the results when the search term was emptied.

This closes https://github.com/select2/select2/issues/4191
This closes https://github.com/select2/select2/pull/4192
This closes https://github.com/select2/select2/pull/4202
2016-05-14 22:26:56 -04:00
Kevin Brown
481c43883e selectOnClose now properly works with closeOnSelect
Previously we hacked around the infinite loop between closeOnSelect and
selectOnClose by attempting to detect what event was being triggered
without knowing what event triggered it. Now we properly relay the
Select2 event and the jQuery event that triggered the select or unselect

This closes https://github.com/select2/select2/issues/4012
2016-05-14 22:14:20 -04:00
Kevin Brown
ad8447cc35 Add a new _type parameter for the first event argument
This will include the event type in the _type property, so it can be
accessed within the event handlers if it's not normally passed in. This
should not conflict with any existing handlers, and this should not be
considered a public property on event arguments.
2016-05-14 22:01:42 -04:00
Kevin Brown
acd3306192 Added tests for focusing results
This adds three tests related to focusing selected items in the results.
The tests are for e897d00 and 9f58128.
2016-05-14 21:05:30 -04:00
Kevin Brown
9f581285d8 Renamed focusFirstItem method
This renames the `focusFirstItem` method to `highlightFirstItem`, which
better reflects what is actually happening. This also ensures that the
highlight is visible when it is moved by calling
`ensureHighlightVisible`.

This closes https://github.com/select2/select2/issues/3479
This closes https://github.com/select2/select2/pull/4238
2016-05-14 21:05:14 -04:00
Alexander Leonov
e897d008a6 Fixed infinite scrolling issue using down key. 2016-05-14 21:04:31 -04:00
Nadim Afana
b6f0f3a69e Fixed line is too long warning for jquery-calls.js 2016-05-08 19:51:46 -07:00
Nadim Afana
8663d1bf0b Fixed jshint warnings 2016-05-08 19:45:58 -07:00
Nadim Afana
5fd270c9e4 Added an integration test to ensure issue does not come back in the future. 2016-05-08 19:32:41 -07:00
Nadim Afana
fba261c670 Fixed EOL to Unix format. 2016-05-06 14:54:13 -07:00
Nadim Afana
16e26310e1 Fixed more indentation issues. 2016-05-06 12:28:49 -07:00
Nadim Afana
6e9657105b Fixed indentation. 2016-05-06 12:23:58 -07:00
Nadim Afana
a1dc7f23d1 Fixed unit tests and updated source code to handle HTML5 attribs. 2016-05-05 21:41:20 -07:00
Nadim Afana
95b1f8b409 Reverted a line in base.js regarding tab index. 2016-05-05 18:38:38 -07:00
Nadim Afana
76298267f9 Updated inputData.js 2016-05-05 18:12:51 -07:00
Nadim Afana
54e126a664 Fixed bug #4014 2016-05-05 15:38:31 -07:00
Kevin Brown
07aa8a45b0 Merge pull request #4342 from damienfinck/master
Add missing French translation
2016-05-04 17:30:29 -04:00
Damien Finck
b1ea28bb7d Add missing French translation 2016-05-04 19:55:01 +02:00
Kevin Brown
3663b44b83 Merge pull request #4338 from murb/lt-file-jshint-fix
linting fix for lt i18n file
2016-05-02 22:03:03 -04:00
Maarten Brouwers
89dcfef94b linting fix for lt i18n file 2016-05-03 00:08:06 +02:00
Kevin Brown
f3b91d0680 Recompile dist with master 2016-04-24 12:21:53 -04:00
Aurelijus Rožėnas
5b5eddd183 Fixed broken lithuanian translation
This closes https://github.com/select2/select2/issues/4301.

Signed-off-by: Kevin Brown <kevin@kevin-brown.com>
2016-04-23 22:33:22 -04:00
Kevin Brown
5a831afb9a Added documentation for ajax.url
This closes https://github.com/select2/select2/issues/4213.
2016-04-23 22:23:04 -04:00
Kevin Brown
5b207b287e Add test for focus event on inline search
This adds a test for
02cca7baa7.
2016-04-23 21:38:41 -04:00
Kevin Brown
3bc7f4ac78 Added docs section for HTML labels
This will make it easier in the future to test that we support labels,
and it tells people who are looking to confirm that we support labels
that we in fact do.
2016-04-23 20:36:39 -04:00
Kevin Brown
31e7a1d4c5 Support the focus event on the <select> element
This adds basic support for focusing the Select2 element by triggering
the `focus` event on the underlying <select> element.  This implicitly
adds support for <label> elements, which will trigger the `focus` event
on the `<select>` if it is clicked.

This also fixes the focus issue that previously existed if Select2 was
opened while in a <label>. The focus would be transferred to the search
dropdown, and then immediately pulled away to the <select> element. This
happened because the <label> element triggers the `focus` event when a
`click` event propagates its way up, and we do not stop the propagation
of the `click` event when it is triggered on the selection.

This closes https://github.com/select2/select2/issues/2311.
This closes https://github.com/select2/select2/issues/4203.
This closes https://github.com/select2/select2/pull/4235.
2016-04-23 19:58:04 -04:00
Kevin Brown
b10976bd25 Merge pull request #4318 from acorncom/patch-1
Updated old select2-bootstrap-theme link
2016-04-20 14:03:58 -04:00
David Baker
64a79c3a5b Updated old select2-bootstrap-theme link 2016-04-20 11:11:20 -06:00
Kevin Brown
98f054fc18 Tune the tests for positioning
These tests did not cover the classes that should have been
automatically applied to the dropdown based on the space around it. Now
they both test that the dropdown should be facing down, because there is
enough space below it to display the dropdown.
2016-04-17 17:15:44 -04:00
Ryan Cousart
ecdc416635 Fixing bug with non-static parents for dropdowns
The offset of the parent was only being subtracted if the dropdown was
facing down, this now subtracts it if the dropdown is facing up as well.
This more or less applies the same fix as
e260860789,
but when calculating the position of the dropdown when it is facing up.

This closes https://github.com/select2/select2/issues/3303
This closes https://github.com/select2/select2/pull/4267
2016-04-17 16:58:01 -04:00
Kevin Brown
c099755012 Merge pull request #4246 from somethvictory/master
add Khmer translation
2016-04-14 17:54:48 -04:00
Kevin Brown
120672dce7 Added tests for multiple tags and tokenizing
This adds tests to ensure that 3b8cd2e369
will continue to work in the future.
2016-03-27 18:37:27 -04:00
Kevin Brown
3b8cd2e369 Create an option when tokenizing if needed
Previously the tokenizer only worked when creating multiple options
at once if all of the options existed. It always worked when creating
a single option, because all of the special cases were handled by the
tagging module. When working with multiple options, the tagging
module does not kick in until after the query has been run, which
is when the tokenizer does its magic.

This fixes the issue by automatically creating the option tags that
the tagging module would normally create. It only does this if the
options do not already exist, so we don't need to worry about the
tokenizer creating duplicates of existing options.

This closes https://github.com/select2/select2/issues/3458
2016-03-27 18:29:01 -04:00
Kevin Brown
cfb66f5e4f Attempt to detect aborted requests
The error handler should not be raised if a request is aborted while
another one is sent out. This attempts to detect those cases by
handling the case where the error was raised and the request has a
status code of 0, which should either mean we're in offline mode or
the request was aborted.

This closes https://github.com/select2/select2/issues/4205
2016-03-27 15:44:40 -04:00
Kevin Brown
fe26b083eb Fix dropdownAutoWidth so it actually works
Previously the `dropdownAutoWidth` option didn't work because the
dropdown was being absolutely positioned, so setting the width to
`auto` didn't actually have an effect. This cannot be solved by
just setting the width on the container, because that is also
absolutely positioned.

This closes https://github.com/select2/select2/issues/3101
2016-03-27 15:24:37 -04:00
Kevin Brown
ac254ff68d Added tests for jQuery calls to Select2
This adds a test that covers the change made in
c2c1aeef31.
2016-03-27 15:16:22 -04:00
Kevin Brown
c2c1aeef31 Fix calling select2('', args) on multiple elements
This fixes an issue that has existed since Select2 4.0.1 where the
arguments passed into each `<select>` were mutated. This no longer
mutates the arguments for each element, and instead only drops the
first argument once.

This closes https://github.com/select2/select2/issues/4245
2016-03-27 14:59:44 -04:00
jpic
8869b170b1 Set list-style further down the DOM
This closes https://github.com/select2/select2/issues/4225
This closes https://github.com/select2/select2/pull/4226
2016-03-27 14:55:21 -04:00
Kevin Brown
84d6b5d840 Added small example of attaching event listeners
This closes https://github.com/select2/select2/pull/4255
2016-03-27 14:47:06 -04:00
Kevin Brown
962fd63a67 Stub question about event data 2016-03-27 14:46:29 -04:00
Kevin Brown
78cac8972a Merge pull request #4259 from zapodot/master
Added missing Norwegian bokmaal label used for errors
2016-03-27 14:38:11 -04:00
Sondre Eikanger Kvalø
0212edda95 Added missing Norwegian bokmaal label used for errors 2016-03-16 15:51:39 +01:00
Someth Victory
a7738c4517 fix jshint: Line is too long 2016-03-10 16:45:27 +07:00
Someth Victory
a797833e10 add Khmer translation 2016-03-10 16:35:09 +07:00
Kevin Brown
6844be777b Missed a version identifier 2016-03-08 20:42:47 -05:00
Kevin Brown
622a619d25 Updated version identifiers for 4.0.2 2016-03-08 20:33:38 -05:00
Kevin Brown
68a199fc98 Added initial questions for tagging docs 2016-03-08 20:28:36 -05:00
Kevin Brown
3783354d02 Add documentation on ids needing to be strings
This closes https://github.com/select2/select2/issues/4052
This closes https://github.com/select2/select2/pull/4076
This closes https://github.com/select2/select2/issues/4227
2016-03-08 20:04:57 -05:00
Radu Ungureanu
72d905f9e0 Romanian localization
- updated transaltions
- added translation for errorLoading
- issue fixes - compare characters length instead of message when adding terminal character

This closes https://github.com/select2/select2/pull/4208
2016-03-08 19:54:01 -05:00
Kevin Brown
4901e221c9 Merge pull request #4222 from cheeaun/patch-1
s/incluidng/including
2016-03-01 09:54:50 -05:00
Lim Chee Aun
18a453ed9e s/incluidng/including 2016-03-01 17:16:03 +08:00
Kevin Brown
f2268caf23 Added pull request and issue templates
The issue template is largely based on the questions included in the
canned comment that I use for bugs, which is mostly covered in the
contributing guide. Even though there are a lot of lines, most of it is
just ticking checkboxes.

The issue template is focused on bug reports, as those are considerably
more common than feature requests.

The pull request template was designed to be pretty slim, we haven't had
many issues with these in the past.
2016-02-18 17:34:43 -05:00
Kevin Brown
296d2f8879 Add Sauce Labs matrix to the README
This also updates the Travis CI image to be a vector.
2016-02-17 17:11:17 -05:00
Kevin Brown
664210c271 Update the list of integrations
The integrations are now organized by the name of the integration, and
themes are now separated out from the plugins. The references for this
section have been pulled out at the bottom because there are so many.

This closes https://github.com/select2/select2/issues/4150.
This closes https://github.com/select2/select2/pull/4067.
This closes https://github.com/select2/select2/issues/3957.
2016-02-17 17:10:39 -05:00
Kevin Brown
eae6fcc2bd Update version identifiers to 4.0.2-rc.1 2016-02-14 17:06:23 -05:00
Kevin Brown
37dbe059fc Document DOM events
This closes https://github.com/select2/select2/pull/4115.
2016-02-14 16:14:58 -05:00
Kevin Brown
7f8e9dc62a Document the change.select2 event
This closes https://github.com/select2/select2/issues/3620.
2016-02-14 15:16:08 -05:00
Kevin Brown
ac109685a0 Docs for mapping id and text
These modified snippets are from the announcement.

This closes https://github.com/select2/select2/issues/4086.
2016-02-14 15:03:51 -05:00
Kevin Brown
6369f5f173 Fix the Select2 logo
With the update to Bootstrap it was forcing the Select2 text down.
2016-02-14 14:49:39 -05:00
Kevin Brown
81a4a68b11 Updated Font Awesome to 4.5.0 for docs
This also includes the missing WOFF2 and SVG files that were causing
errors for some.

This closes https://github.com/select2/select2/issues/4160.
2016-02-14 14:34:56 -05:00
Kevin Brown
a5e539b509 Updated Bootstrap to 3.3.6 for docs
This allows us to custom build it without Glyphicons so we don't have
any errors about it not being found.
2016-02-14 14:33:52 -05:00
Vasyl Zuzyak
e3f9466d8b Reuse result of previous calcualtion
This closes https://github.com/select2/select2/pull/4155.
2016-02-14 14:03:49 -05:00
Bruno Sampaio
d976f1c576 added test for recursively applying defaults
This adds tests for 983cd8e765.
2016-02-14 14:00:01 -05:00
Bruno Sampaio
983cd8e765 Recursively apply defaults
This closes https://github.com/select2/select2/pull/4130.
2016-02-14 13:58:14 -05:00
Ben
65179f16de Santize automatically generated ids
This closes https://github.com/select2/select2/issues/3618.
This closes https://github.com/select2/select2/pull/4123.
2016-02-14 13:48:19 -05:00
Kevin Brown
75163d67cb Switched options page to use Jekyll highlighting 2016-02-14 13:33:33 -05:00
Kevin Brown
a126b53b4c CSS changes for Rouge highlighting
This adds a new CSS file and adjusts existing highlighting files for the
Rouge syntax highlighting that was enabled.
2016-01-30 21:01:12 -05:00
Kevin Brown
d5a76aab26 Switched 4.0 announcement to Jekyll highlighting 2016-01-30 18:30:57 -05:00
Kevin Brown
74387b9863 Switched examples to use Jekyll's highlighting
This fixes some bugs that were present in the old Prettify highlighter
when there was a mix of JavaScript and HTML in the same code block. Now
with Rouge, the highlighter used by Jekyll, these cases are properly
handled and HTML no longer looks strange.

This does not convert all of the code blocks over, because there are
still some code blocks which double as the actual JavaScript code
powering the example that need to be migrated.
2016-01-30 18:09:01 -05:00
Kevin Brown
54441e6a22 Switched index to use Jekyll's code highlighting
We previously used Google's Prettify, which worked on the client side.
Now that we are actually using Jekyll, and it has built-in syntax
highlighting, we might as well change to doing highlighting on the
backend.
2016-01-28 11:54:24 -05:00
Kevin Brown
ff9486bbd2 Merge pull request #4127 from drmonkeyninja/patch-1
Replaced protocol-relative URLs with HTTPS protocol
2016-01-28 11:26:00 -05:00
Andy Carter
9b4b9175fc Replaced protocol-relative URLs with HTTPS protocol
Use of protocol-relative URLs is now seen as an anti-pattern as it leaves the door open to attacks. As the CDNs serve over HTTPS it should be recommended that people use HTTPS rather than protocol-relative URLs. See Paul Irish's post on [Protocol-relative URLs](http://www.paulirish.com/2010/the-protocol-relative-url/) for more details.
2016-01-27 10:21:50 +00:00
Kevin Brown
97f7eea9ce Recompile dist 2016-01-14 19:31:16 -05:00
Kevin Brown
0840c3923f Code samples and docs for selections 2016-01-14 19:30:11 -05:00
Kevin Brown
ce2204cff0 Code samples for options affecting the dropdown
This is just code samples, most of this still needs readable (non-code)
documentation that actually explains what is going on with the options.
2016-01-14 19:29:48 -05:00
Kevin Brown
55aa2c64cc More docs for data adapters 2016-01-14 19:26:19 -05:00
Kevin Brown
d6bc96d7de Expand upon the core section of the docs
This adds more code examples where they might be useful, and adds some
more description where it was needed. This clarifies a couple of the
questions that have come up about the AMD support and links to the bug
that Select2 was involved with that some people reported when 4.0.0 was
released.
2016-01-14 18:40:37 -05:00
Kevin Brown
69ef214c92 Display error message on AJAX errors
This display the `errorLoading` translation when there is an error
during the AJAX cycle. Previously we were just throwing these errors
out, now we are actually displaying an error message.

This closes https://github.com/select2/select2/issues/3501
2016-01-04 20:07:37 -05:00
Kevin Brown
db5e947664 Added test for new insertTag option
This adds a basic test that ensures that the `insertTag` option works as
expected.
2016-01-03 19:09:45 -05:00
Stretch
e842797aaf Added insertTag to control the tag position
This adds an option called `insertTag` that controls the location within
the results where the tag is inserted. The function should take in the
results array and the tag, and should modify the array in-place to add
the tag to the results.

This closes https://github.com/select2/select2/issues/3420
This closes https://github.com/select2/select2/pull/4008
2016-01-03 19:08:59 -05:00
Kevin Brown
63d531a9c0 Fixed responsive example in documentation
This fixes the documentation so the responsive example actually works.
Everything was working properly, the example just wasn't updated when
the default for the width was changed to `100%` in
5fd72d2052.
This is a change from the old `resolve` width setting, which is
responsible for parsing the style attribute and getting the width that
was set.

This closes https://github.com/select2/select2/issues/4050
2016-01-03 18:57:49 -05:00
Kevin Brown
f3b9693ad9 Fixed existing selections not being respected with array data
This fixes an edge case that occurred pretty much whenever anyone would
use array data with existing selections along with a placeholder. This
caused the existing selections to be discarded, because the `selected`
property was not being transferred over to the new option. This was
based the new data was being preferred over the data that could be
inferred from the option, and the new data typically did not include the
selected state. As a result, the option was assumed to not be selected.

This was not cause by existing tests because all of the existing tests
only covered cases where the selected option was the first option, and
that was not affected by this bug.
2016-01-03 18:34:59 -05:00
Kevin Brown
d1ed0a513a Add failing test for existing array selections
This adds a broken test that demonstrates the issue seen in
https://github.com/select2/select2/issues/3990 where existing selected
options are being reset once Select2 is initialized. This issue cannot
be reproduced on the options page [1] because the issue only appear to
happen if the selected option is not the first one in the list of
possible options.

[1]: https://select2.github.io/examples.html#data-array
2016-01-03 18:21:09 -05:00
Kevin Brown
f58c1efc11 Fixed failing tests in IE9/FX
This fixes the two failing assertions that only triggered in IE 9 (no
other versions) and Firefox. Both of them were caused by the offset for
the dropdown including a constant extra amount, what appeared to be
related to the size of the container if it actually had content. This
was not consistent in browsers, so now we are forcing there to be a
small amount of content within the container and then calculating the
expected offset based on that height.
2016-01-03 17:46:01 -05:00
Kevin Brown
09ecd3cdb9 Remove dead code
This call to `$.fn.position` was causing an error in IE 8 because the
`offsetParent` was null on the container for some reason. It's not
needed, so this line of code has been removed.

This should fix the test failures in IE 8.
2016-01-01 18:16:51 -05:00
Kevin Brown
e260860789 Correct positioning issues for statically positioned elements
There was a commit that landed in 4.0.1 that fixed positioning for
non-static elements, which are commonly used for the custom
`dropdownParent` option, but broke positioning for statically positioned
elements, commonly used in almost every other case. That commit was
c9216b4b96

This fixes the positioning issues caused by that commit by properly
calculating the offsets for statically positioned parents. Statically
positioned parents are unique, because the offset for the dropdown must
be calculated based on the closest element that is non-statically
positioned. Otherwise, the offset for any statically positioned parent
other than the body will be considerably higher than it should be,
resulting in the dropdown being offset by a large amount.

The offset parent for the body element is the html element, which is why
this works for both the body element and any custom parents for the
dropdown. This would not be needed if the parent wasn't customizable (as
seen in Select2 3.x) because you will never need to offset the body
element if it is statically positioned, because the html element almost
never has an offset.

This also fixes JSHint issues within the tests added in the last commit.

This closes https://github.com/select2/select2/issues/3970
This closes https://github.com/select2/select2/issues/3639
2016-01-01 17:15:00 -05:00
Kevin Brown
b5a4698250 Add regression tests for the positioning issues
This adds a regression test that verifies the problem with positioning
the dropdown when the parent is a statically positioned element that
still has an offset. This could typically be seen if the body element
has an offset, which unfortunately it almost always does because of the
default user stylesheet in browsers. This was not caught during
pre-release testing because all of the test pages reset the margins and
padding on the body element.

This regression test verifies that the offsets that should be set for
the dropdown are calculated correctly. These were surprisingly difficult
to do because of how the offset is calculated using different
positioning techniques.

These tests are for https://github.com/select2/select2/issues/3970
2016-01-01 16:47:49 -05:00
Kevin Brown
9c35475c6c Added test for attachBody
This is just a basic test that ensures that the dropdown is appended to
the end of the dropdown parent when `dropdownParent` is defined.
2015-12-31 13:04:38 -05:00
ricardokenji
c33ba3117b Update clearing-selections.html 2015-12-11 13:25:09 -02:00
Kevin Brown
bc19964170 Update version identifiers to 4.0.1 2015-11-27 18:26:20 -05:00
Kevin Brown
c9216b4b96 Fixed positioning with non-static parents
This fixes an issue with non-static parents (ones that were relatively
or absolutely positioned) where the dropdown would be offset by the
offset of the parent, so it would almost never line up. This fixes the
problem by removing the offset when the parent is not statically
positioned, which is what we used to do in older versions of Select2.

This closes https://github.com/select2/select2/issues/3303.
This closes https://github.com/select2/select2/issues/3614.
This closes https://github.com/select2/select2/issues/3672.
2015-11-27 17:58:08 -05:00
Kevin Brown
393ca4cf7f Fix selectOnBlur and closeOnSelect combination
This fixes an infinite loop that used to be caused when both
`closeOnSelect` and `selectOnClose` used to be combined, because they
both were listening to events triggered by the other one. The problem
was that `selectOnClose` was triggering `select` events for data objects
which had already been selected. This problem was solved by checking if
the data object was already selected before trying to select it again.

This closes https://github.com/select2/select2/pull/3751.
This closes https://github.com/select2/select2/issues/3169.
2015-11-27 17:32:54 -05:00
Kevin Brown
d504700c53 Recompile dist with newer dependencies 2015-11-27 16:07:10 -05:00
Kevin Brown
af97cc9996 Use NPM versions in builds
This changes the Grunt script to automatically pull the locations of the
NPM versions of the Almond loader and jQuery mousewheel plugin. This
means we no longer need to include these vendor files in our repository,
as the builds will automatically pull from the existing NPM files.
2015-11-27 16:07:08 -05:00
Kevin Brown
32b6eae54b Explicitly require jquery-mousewheel now
This fixes the implicit requirement of jquery-mousewheel that previously
existed. This was not allowed, as pointed out in
https://github.com/select2/select2/issues/3287#issuecomment-120408092

Now the requirement is more explicit, so everything should work as it
was before.
2015-11-27 16:07:07 -05:00
Kevin Brown
8edf3c6408 Add dependencies on Almond and jQuery Mousewheel
These are technically only required when building the final versions,
but if someone is pulling from NPM they may want to deal with building
it as well. Almond is used for loading in packages and jQuery Mousewheel
is used to prevent the results from scrolling the page.
2015-11-27 16:07:05 -05:00
Kevin Brown
5ca76fda61 Merge pull request #3782 from nopash/patch-1
Correct Typo in noResults
2015-11-27 15:42:51 -05:00
Kevin Brown
23743a785c Merge pull request #3933 from Decagon/patch-1
Fix #3932
2015-11-27 14:56:40 -05:00
Kevin Brown
3c8366e876 Fixed deep cloning options
In
f1e86470ca
we tried to fix the issue where multiple instances created in a single
call would share the same options, and this worked for the most common
cases. Unfortunately it did not work for the case where data attributes
were also used with an options object, and as a result data attributes
would be copied to all instances. Data attributes are supposed to be
specific to a single instance.

This was fixed by moving the `true` for the deep copy to the start of
the `$.extend` call, as this is where jQuery looks for the deep copy
flag.

This closes https://github.com/select2/select2/issues/3485
2015-11-23 18:55:31 -05:00
Kevin Brown
e2b745ea3e Recompiled dist 2015-11-23 18:44:35 -05:00
Kevin Brown
dc516e7073 Add container to templateResult
This closes https://github.com/select2/select2/issues/3222.
2015-11-23 18:40:50 -05:00
Jono Mingard
7e3d4fb697 Add tests for accessible search results 2015-11-23 18:35:36 -05:00
Jono Mingard
9fae3d74e3 Speak results on selection
This closes https://github.com/select2/select2/issues/3735
This closes https://github.com/select2/select2/pull/3821
2015-11-23 18:34:37 -05:00
Kevin Brown
e08222ef15 Tests for the inline search box
This adds tests for the following commits

5f80c5d9f8

395e06aff5
2015-11-23 18:25:09 -05:00
Kevin Brown
5f80c5d9f8 Resize search after removing a choice
This fixes a previous bug with the backspace handler on the multiple
select search box where unselecting a choice through the keyboard would
not properly size the search box. As a result, most of the text would be
cut off and it was very clear that there was an issue.

In addition, a blank space was automatically being added to the end of
the search query. This blank space would not be removed at all, so the
user had to manually remove it.

Additionally, a query would be triggered for the last used search term
instead of the new search term that would be loaded in. This caused
incorrect results to be displayed most of the time.

All of these issues have been fixed by triggering a new search query
after an option has been removed through the keyboard. This will resize
the search box automatically, which fixes the main issue, and it will
trigger a search with the correct query.

This closes https://github.com/select2/select2/issues/3297
This closes https://github.com/select2/select2/pull/3398
2015-11-23 18:22:33 -05:00
Kevin Brown
8763a87779 Merge pull request #3946 from manuel-alvarez-alvarez/master
Add the decorator parameter to the handlers for the attach and detach of the dropdown
2015-11-23 16:49:59 -05:00
Kevin Brown
f94b462b15 Merge pull request #3943 from limonte/sr-Cyrl
Add sr-Cyrl language.
2015-11-23 15:43:03 -05:00
Limon Monte
410916510d Add errorLoading error message to sr, sr-Latin and hr languages. 2015-11-20 11:39:35 +01:00
Limon Monte
1c8d1f8e0d Add sr-Cyrl language. 2015-11-20 11:38:13 +01:00
Manuel Alvarez Alvarez
a06a08a028 Fixed jshint errors due to too long lines on the attachBody adapter 2015-11-19 15:49:52 +01:00
Manuel Alvarez Alvarez
eae4d01158 Add the decorator parameter to the handlers for the attach and detach the dropdown (otherwise the container is undefined) 2015-11-19 15:39:28 +01:00
Decagon
6dbe2d9164 Fix #3932 2015-11-15 16:11:29 -04:00
Kevin Brown
7e2ade0965 Merge pull request #3926 from stahor/patch-1
Update component.json
2015-11-12 11:17:37 -05:00
stahor
7eaee2be9e Update component.json 2015-11-12 14:28:40 +03:00
Kevin Brown
87b182fe2a Update version identifiers to 4.0.1-rc.1 2015-11-09 20:23:20 -05:00
KahWee Teng
31a329eb6d Fix inline search in Safari
This closes https://github.com/select2/select2/issues/3459
This closes https://github.com/select2/select2/pull/3476
2015-11-09 19:28:58 -05:00
Quentin Pradet
878bb3ab07 Fix select2('') calls on multiple elements
This fixes an issue when any of Select2's special options are called on
multiple elements, it would only affect the first option in the group.
This was because Select2 was only applying any changes to the first
element in the group (as chosen by jQuery) instead of applying changes
on each and every element within the list.

This has the new side effect of special options like `select2('data')`
returning the results for the last element in the list instead of the
first element. Because the previous functionality was considered
unspecified behaviour, this is not being treated as a breaking change.

This closes https://github.com/select2/select2/issues/3413
This closes https://github.com/select2/select2/pull/3495
2015-11-09 19:03:22 -05:00
Kevin Brown
7c47912b73 Set all AJAX parameters as query string parameters
This will now pass all of the AJAX parameters into the AJAX request as
query string parameters, so now the page number (and other variables)
will be set automatically. This can still be overridden in `ajax.data`
to pass anything else, but this should make it easier for the most
common case.

This closes https://github.com/select2/select2/issues/3548
This closes https://github.com/select2/select2/pull/3552
2015-11-09 18:49:40 -05:00
Lars Holm Jensen
ef508db161 Corrected Danish translation for results errors
This closes https://github.com/select2/select2/pull/3870
2015-11-09 18:28:59 -05:00
Kevin Brown
d0ce218c0b Merge pull request #3544 from fk/3306-clear-button-appears-under-long-text
#3306: Position clear button before the inline content of `.select2-selection__rendered`
2015-11-09 18:15:12 -05:00
Kevin Brown
c53b2dcf11 Fixed incorrect classes on "Loading more results" message
This fixes an issue where the old `option` and `load-more` classes were
not switched over to the newer BEM style of class names. Unfortunately
this is a breaking change, but this is also a bug given that it doesn't
follow the proper prefixing and is likely to conflict with larger
applications.

https://github.com/select2/select2/issues/3889
2015-11-09 18:13:02 -05:00
Kevin Brown
6d91da7e63 Recompile dist 2015-11-09 18:03:35 -05:00
SilverFire - Dima Naumenko
3037b933e2 Correct reference for this in AJAX callbacks
Previously `this` would point to the AjaxAdapter that was being used to
process the AJAX, or sometimes the JS object holding the AJAX options,
instead of the jQuery element that Select2 was attached to. This fixes
the issue so `this` will consistently point to the jQuery element, just
like in past versions of Select2.

This closes https://github.com/select2/select2/issues/3361
This closes https://github.com/select2/select2/pull/3410
2015-11-09 18:00:39 -05:00
Kevin Brown
71cc891b83 Merge pull request #3859 from ahmadhussain/master
Added arabic language
2015-11-09 17:49:22 -05:00
Meir Cohen
7974fd1662 Corrected a few Hebrew translations
About  `errorLoading`:
Before the correction, the translation was: "התוצאות לא נטענו בהלכה".
The word "בהלכה" is wrong and should be spelled "כהלכה", but besides that, this translations means "The results were loaded improperly", while my corrected translation means "Error while loading results", which is what needed.

About `inputTooLong`, `inputTooShort`, `maximumSelected`:
In Hebrew, it's not acceptable to have the digit 1 for representing a single object. You should use the actual word "one", which is "אחד" in Hebrew together with the singular noun (e.g. "one item" / "one character", instead of "1 item" / "1 character").
**These 3 parts needed a critical fix anyway**, because they were addind the English letter 's' to the end of the Hebrew string.

About `loadingMore`:
The translation was "טען תוצאות נוספות" which means "Load more results", as an instruction, probably a typo.
I changed "טען" to "טוען" so now it means "loading more results", which is the correct form.

This closes https://github.com/select2/select2/pull/3911
2015-11-09 17:43:53 -05:00
Kevin Brown
ca0fd7c195 Properly disable input handlers in IE
Previously we were only disabling the `input` handler when it was
triggered, which caused a race condition within the `keyup` handlers
which also was triggered by the `input` event. This fixes the issue by
also unbinding the `input` handlers within the `keyup` handler, to avoid
running into the race condition.

Thanks to @Eckankar for pointing out the race condition that still
existed in
66ae2ad1d5

This closes https://github.com/select2/select2/issues/3300
2015-11-09 17:33:30 -05:00
Ahmad Hussain
09d825dd31 added arabic language 2015-10-22 12:01:26 +03:00
Kevin Brown
6be96cfaa1 Merge pull request #3851 from yallups/Terminating-script-undefined-args
Fixes an issue of args === undefined and script terminates
2015-10-20 14:54:24 -04:00
Shawn
f3a29b87e1 Fixes and issue where If args are not present script terminates 2015-10-19 15:34:44 -07:00
Nopachat Kalayanapan
9b020edd80 Correct Typo in noResults 2015-09-18 17:57:43 +07:00
Kevin Brown
8ad8f200ba Merge pull request #3780 from InWayOpenSource/master
Fix option name in documentation - fix #3470
2015-09-17 20:26:23 -04:00
Sebastian Podjasek
96fb1bf2d4 Fix option name 2015-09-17 23:36:18 +02:00
Kevin Brown
19861bfa38 Merge pull request #3724 from select2/docs-faq
Switch option page to FAQ in docs
2015-09-14 19:34:09 -04:00
Kevin Brown
8c26dff234 Merge pull request #3767 from select2/contributing-guide
Add developer information to the contributing guide
2015-09-14 19:31:51 -04:00
Kevin Brown
2b91ac0a20 Rename options-new to options 2015-09-14 19:30:32 -04:00
Kevin Brown
8ac5f1ddf2 Migrate old options to options-old 2015-09-14 19:24:46 -04:00
Kevin Brown
2ff5f6a24c Swap mailing list and IRC channel links
These sections were dropped from the README in
5c71e2da50
and replaced by the Community page on the Select2 website.
2015-09-14 19:15:19 -04:00
Kevin Brown
ff4b47bf74 Add section to contributing about patches 2015-09-14 19:11:25 -04:00
Kevin Brown
b819a495aa Added compatibility section
This is the same as the old documentation, it has not been transformed
into a FAQ yet.
2015-09-13 15:36:52 -04:00
Kevin Brown
84d1218751 Added note about incomplete documentation
This adds two notes, one pointing to the old documentation and the other
pointing to the community, for getting extra help if their question is
not answered.
2015-09-13 15:27:34 -04:00
Kevin Brown
bc82856fb6 Document data object format
So far this just documents how <select> elements have their options
converted to a data object.
2015-09-13 11:33:21 -04:00
Kevin Brown
46ab1ebc8d A bunch of questions are missing answers
These will be filled in at a later point in time, hopefully later today.
2015-09-13 11:32:41 -04:00
Kevin Brown
119df9b09f Add questions about the dropdown 2015-09-13 11:31:59 -04:00
Kevin Brown
e9b89b4ac1 Add template for questions without answers 2015-09-13 11:31:34 -04:00
Kevin Brown
e472cb31f0 Finish off the core option answers
These were mostly there before, it was just a matter of moving some of
the answers around.
2015-09-13 11:31:06 -04:00
Kevin Brown
4541d83c5d Updated side navigation
Now most of the links works, not including the ones for sections which
don't exist at the moment.
2015-09-13 11:30:26 -04:00
Kevin Brown
4b5743f22e Merge pull request #3757 from christophano/master
Use apply when calling methods
2015-09-10 08:34:38 -04:00
Chris Rodgers
441fbc2d73 Method called using apply to avoid translating multiple args into single arg. Fixes #3756 2015-09-10 12:05:25 +01:00
Kevin Brown
c502961149 Answers to some of the questions 2015-09-09 12:30:12 -04:00
Kevin Brown
a96ec9d91c Added section for events
Both public jQuery events and internal Select2 events will be
documented.
2015-08-31 21:14:59 -04:00
Kevin Brown
75abd407c8 Continue building out the FAQ
This adds more questions that will eventually get answers. Most of these
questions are already answered either in the current documentation or on
Stack Overflow, so it shouldn't be too difficult to fill out answers for
them.
2015-08-31 20:43:01 -04:00
Kevin Brown
41e4795578 Set up initial page with some questions
Right now this sets up the new FAQ/Options page with most of the
questions for the how to control the selection. Not all of these
questions have answers, most of them weren't moved over, but there are
plans to add detailed answers to all of them.

The questions were aggregated based on common Stack Overflow and IRC
questions, as well as commonly asked things on GitHub.
2015-08-29 19:51:52 -04:00
Kevin Brown
ea074af14c Merge pull request #3717 from P0rnflake/patch-1
Add select2.css to composer generated require.css
2015-08-29 16:23:11 -04:00
P0rnflake
e3920eae44 Add Stylesheet to composer generated require.css 2015-08-28 10:49:12 +02:00
Kevin Brown
eb47f638d3 Merge pull request #3698 from jbrown/patch-1
Fix typo
2015-08-25 11:35:09 -04:00
Kevin Brown
89858c418d Implement Dropdown.bind
This closes https://github.com/select2/select2/issues/3239
2015-08-21 20:51:42 -04:00
Kevin Brown
73e50ae92c Hide messages when loading results
This closes https://github.com/select2/select2/issues/3343
2015-08-21 20:49:01 -04:00
Kevin Brown
b69dd827d0 Recompile dist 2015-08-21 19:19:06 -04:00
Kevin Brown
a86c2e709f Add tests for 4958961 2015-08-21 19:17:00 -04:00
Kevin Brown
49589611ee Handle null being returned from createTag
The `createTag` option does allow for `null` to be returned if a
tag should not be created. The tokenizer previously didn't support
this, so the tokenizer should be able to handle this case. Previously
it would trigger an exception, because the tokenizer would pass back
a null value to the select function.

This also fixes what would have been a potential bug where even if a
tag was not created, the term would still have been sliced at the
location of the token. This allows for tokenizers to have special
cases when tokenizing the term, such as not splittting a token
if it is in the middle of a quoted string.

This closes https://github.com/select2/select2/issues/3593
This closes https://github.com/select2/select2/pull/3591
2015-08-21 19:12:13 -04:00
Kevin Brown
d9c1cbc976 Add tests for d08cb87 2015-08-21 18:32:10 -04:00
Stretch
d08cb874f9 Trigger the select event in the tokenizer
This closes https://github.com/select2/select2/issues/3325.
This closes https://github.com/select2/select2/pull/3453.
2015-08-21 18:30:35 -04:00
Kevin Brown
7166935958 Always pass in a blank object for arguments
This fixes an issue where preventing the default behaviour on some
events would trigger an exception. This was bacause the event relay
was expecting there to always be an object passed in for arguments,
and this wasn't always the case.

This closes https://github.com/select2/select2/issues/3431.
2015-08-21 17:43:50 -04:00
Kevin Brown
8722ae2c81 Compile dist 2015-08-21 14:52:01 -04:00
Kevin Brown
66ae2ad1d5 Fix input event in IE
This closes https://github.com/select2/select2/issues/3300
This closes https://github.com/select2/select2/pull/3677
2015-08-21 14:46:50 -04:00
Justin Brown
dac09005ad Fix typo 2015-08-20 13:15:57 -04:00
Kevin Brown
ab14751507 Merge pull request #3692 from Velocity-/patch-1
Fix improper grammar in Dutch i18n file
2015-08-20 11:01:41 -04:00
Bart Pelle
eee70fd9af Fix improper grammar in Dutch i18n file
Grammar is incorrect when maximum is 1, 'kunnen' should be 'kan' in that case.
2015-08-20 09:21:52 +02:00
Kevin Brown
1587708826 Merge pull request #3507 from RyanDale/issue-3503
Fixes #3503: Removes redundant 'open' event trigger
2015-08-19 22:44:30 -04:00
Kevin Brown
989bd02649 Rebuilt dist 2015-08-19 21:39:21 -04:00
Kevin Brown
ea538819c3 Merge pull request #3605 from molily/master
Multiple select, search field: Removes padding on mobile Safari.
2015-08-19 21:25:01 -04:00
Kevin Brown
68d068f1d2 Prevent selections from being removed when disabled
This prevents selections from being removed when the container is
disabled. This stops any click events that are triggered on the
remove button, so the remove handler won't be triggered at all.

This closes https://github.com/select2/select2/pull/3636.
2015-08-19 21:01:19 -04:00
Kevin Brown
7d8f86cbf8 Add tests for removing a selection when disabled
These tests should fail because a selection can be removed even
though the container is disabled. This is because the only thing
preventing selections from being removed was the CSS which hid the
remove buttons when the container was disabled.
2015-08-19 20:59:39 -04:00
Kevin Brown
671f5a2ce2 Fix memory leak in AttachBody
The `$dropdownContainer` variable wasn't being cleaned up when
Select2 was destroyed, which was causing a memory leak.

This closes https://github.com/select2/select2/issues/3559.
This closes https://github.com/select2/select2/pull/3603.
2015-08-19 20:07:51 -04:00
Kevin Brown
7bc9387de2 Merge pull request #3637 from wobbie/master
fix: modify announcement 4.0 doc Tags example
2015-08-19 20:02:37 -04:00
Kevin Brown
700f7908fc Merge pull request #3654 from wdietz/master
Fix IE 8-11 not showing Chinese characters
2015-08-19 10:26:10 -04:00
Kevin Brown
716e79b7d4 Lock Firefox builds to Linux
Right now Sauce Labs is not triggering builds for Firefox, and that
is causing the automated testing to fail. This might be because
there is no "latest" version logged for Firefox on Sauce Labs, but
it could also be becuase we aren't giving it a platform to look for.

This was also done for Opera as right now Sauce Labs is running
tests on Linux anyway.
2015-08-12 11:14:00 -04:00
Kevin Brown
5021356751 Update grunt-saucelabs version 2015-08-12 10:19:50 -04:00
Kevin Brown
47895b1e45 Merge pull request #3565 from rockshandy/issue-3564
use merged data instead of existingData for ArrayAdapter
2015-08-11 18:22:40 -04:00
Kevin Brown
81a670bd62 Merge pull request #3667 from nikolas/patch-1
Use new travis infrastructure
2015-08-10 13:50:14 -04:00
Nik Nyby
e8f4032724 Use new travis infrastructure 2015-08-10 11:15:40 -04:00
Kevin Brown
dd2990adea Skip focus test on IE 8
I can't reproduce this test failure on and IE 8 virtual machine, so
I'm just going to skip it on IE 8.
2015-08-09 21:00:48 -04:00
Kevin Brown
4a1290b4e9 Recompiled dist 2015-08-09 17:47:05 -04:00
Kevin Brown
8a26de7c60 Merge pull request #3665 from AnthonyDiSanti/master
Fixes typos in docs
2015-08-09 17:08:04 -04:00
Anthony DiSanti
4a5d753112 Fixes typos in docs
* Updates Disabled Mode docs
* Updates Disabled Results docs
2015-08-09 14:19:39 -04:00
Wayne Dietz
d37d6d6cac Fix issue in IE 8-11 that prevents typing characters that require multiple key presses to produce a single glyph. 2015-08-06 10:17:03 -05:00
Kevin Brown
512269fa40 Merge pull request #3643 from TrySound/npm-files
Add npm files filter
2015-08-04 09:27:47 -04:00
Bogdan Chadkin
acfeaaa015 Add npm files filter 2015-08-04 16:12:52 +03:00
wobbie
2932c5448b fix: modify announcement 4.0 doc Tags example 2015-08-03 11:48:26 +01:00
Kevin Brown
14832a8ca4 Merge pull request #3635 from od3n/master
Add Malay translation & Update Indonesian translation
2015-08-01 11:53:35 -04:00
Salahuddin Hairai
fd9ab0665d Updated Indonesian translation 2015-08-01 15:36:45 +08:00
Salahuddin Hairai
00e98e8afc Add Malay translation 2015-08-01 15:34:36 +08:00
Mathias Schaefer (molily)
a1bcd3a7ac Multiple select, search field: Removes padding on iOS. 2015-07-23 13:11:43 +02:00
Kevin Brown
041a3627b9 Merge pull request #3587 from michalzalewski/master
Polish translation: Fixed typo in maximum selected message
2015-07-18 10:38:38 -04:00
Michał Zalewski
74bb22939a Fixed typo in maximum selected message 2015-07-18 10:19:10 +02:00
Phil Eberhardt
af212fa530 added test for #3564 fix 2015-07-11 22:11:55 -04:00
Phil Eberhardt
f5593e12e4 use merged newData in case where an option already exists when using ArrayAdapter 2015-07-09 18:40:56 -04:00
Kevin Brown
3422460488 Merge pull request #3547 from mouse-lin/master
fix: modify announcement 4.0 doc Option params
2015-07-02 10:08:58 -04:00
mouseshi
eab609185a fix: modify announcement 4.0 doc Option params 2015-07-02 16:27:59 +08:00
Florian Kissling
80630c42ec Render .select2-selection__clear before the inline content of .select2-selection__rendered.
As suggested by @njakobsen in https://github.com/select2/select2/issues/3306#issuecomment-109372777, this uses `position: relative` to alter the stacking level of `.select2-selection__clear`.
See http://www.w3.org/TR/CSS2/zindex.html#painting-order and https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Understanding_z_index/Stacking_without_z-index.

Styles are added to the default Sass for `.select2-selection--single`.
Does not include the recompiled distribution CSS.

References https://github.com/select2/select2/issues/3306.
Tested in Google Chrome v43.0.2357.130 only.
2015-07-02 03:00:21 +02:00
Kevin Brown
bd46b7eaac Recompiled dist 2015-06-21 21:47:26 -04:00
Kevin Brown
88503d2c67 Add test for 698fe7b
This adds the test that ensures that the search focus is still
focused, even after the selection is updated (for whatever reason).
Note that we are not triggering the `change` event here, and are
instead just re-calling `update` on the selection adapter. This is
because we do not bind the `change` event in tests, so the selection
is never re-rendered and the tests will pass. The `update` method
is triggered during the `change` cycle anyway, so this has the
same effect while supporting cases where the selection is re-rendered
without the selected values changing.
2015-06-21 21:42:06 -04:00
Stretch
698fe7b9e1 Focus is lost when the change event is triggered
This closes https://github.com/select2/select2/issues/3332.
2015-06-21 21:40:50 -04:00
Ryan Dale
d2346cc331 Change ALT + UP to close the dropdown instead of opening it
This closes https://github.com/select2/select2/issues/3471.
2015-06-21 20:47:05 -04:00
Kevin Brown
bfaa9e9b41 Recompile dist 2015-06-21 20:31:09 -04:00
Kevin Brown
79cdcc0956 Fix focus wars in multiple selects
In the previous commit (02cca7b) support was added for multiple
selects to automatically focus when they were tabbed into. While
this did actually work, it caused a few bugs with the focus that
prevented users from tabbing out of the container, effectively
trapping keyboard users in Select2.

This makes a few major changes to how things work in Select2, but
should not break any backwards compatibility.

 - The internal `focus` event is now proxied through a `focus`
   method on the core object. This allows for two important things

   1. The `focus` event will only be triggered if Select2 was in an
      unfocused state.
   2. Select2 now (unofficially) supports the `select2('focus')`
      method again.

   But that does mean that it is possible to trigger the `focus`
   event now and not have it propagate throughout the widget. As
   it would previously trigger multiple times, even when Select2
   had not actually lost focus, this is considered a fix to a bug
   instead of a breaking change.

 - The internal `blur` event in selections is only triggered when
   the focus is moved off of all elements within the selection. This
   allows for better tracking of where the focus is within Select2,
   but as a result of the asynchronous approach it does mean that the
   `blur` event is not necessarily synchronous and may be more
   difficult to trace.

 - On multiple selects, the standard selection container is never
   visually focused. Instead, the focus is always shifted over to
   the search box when it is requested. The tab index of the selection
   container is also always copied to the search box, so the search
   will always be in the tab order instead of the selection container.

It's important to note that these changes to the tab order and how
the focus is shifted do not apply to multiple selects that do not
have a search box. Those changes also do not apply to single select
boxes, which will still have the same focus and tabbing behaviours
as they previously did.
2015-06-21 20:07:35 -04:00
Ryan Dale
c5a54ed706 Fixes #3503: Removes redundant 'open' event trigger 2015-06-21 16:30:20 -04:00
Ryan Wallace
02cca7baa7 Allow immediate typing when tabbing to multiple select. 2015-06-21 14:16:31 -04:00
Kevin Brown
19c87d3bae Merge pull request #3502 from itainathaniel/patch-1
Fixed direction bug in RTL mode of the text input
2015-06-20 20:06:51 -04:00
Itai Nathaniel
4811ff2c59 Fixed direction bug in RTL mode of the text input 2015-06-19 18:09:25 +03:00
Kevin Brown
6a08076c18 Merge pull request #3492 from pquentin/master
Replace tabs with spaces for consistency
2015-06-18 16:39:11 -04:00
Quentin Pradet
5efdc35aeb Replace tabs with spaces for consistency 2015-06-18 10:19:56 +02:00
Florian Kissling
117f11da21 Merge pull request #3488 from fk/docs-fix-sidebar-layout
docs: Fix sidebar layout and its jumpy link hover/active states
2015-06-17 16:37:44 +02:00
Florian Kissling
38f02e9c0f Merge pull request #3467 from fk/docs-update-anchorjs
docs: Update AnchorJS from v0.3.1 to 1.1.1.
2015-06-17 16:37:18 +02:00
Florian Kissling
82a7e27984 Fix the sidebar layout and its jumpy link hover/active states. 2015-06-17 16:27:10 +02:00
Kevin Brown
60a87728b0 Merge pull request #3477 from wiraqutra/master
Add Japanese translation
2015-06-15 07:59:19 -04:00
Seigo ISHINO
2dcc9ef18b Add Japanese translation 2015-06-15 14:30:08 +09:00
Kevin Brown
6b0ff9f5bd Merge pull request #3473 from kahwee/master
Upgraded dev dependency grunt-sass to "^1.0.0".
2015-06-12 18:59:38 -04:00
KahWee Teng
eecbcceb9b Upgraded dev dependency grunt-sass to "^1.0.0".
Remove explicit node-sass dependency since it is included as part of grunt-sass.
2015-06-12 23:53:47 +08:00
Kevin Brown
d7e137f8a8 Merge pull request #3464 from molily/issues/3446
ContainerCss: Remove magic `:all:` correctly. Fixes #3446.
2015-06-11 09:44:22 -04:00
Mathias Schaefer (molily)
d130bd4fa7 DropdownCSS: Remove magic :all: correctly. 2015-06-11 12:09:02 +02:00
Florian Kissling
ebecea1f98 Update AnchorJS from v0.3.1 to 1.1.1. 2015-06-11 03:45:31 +02:00
Kevin Brown
04a4e41504 Merge pull request #3324 from stretch4x4/MultiSelectStyling
Adding container support issue #3222
2015-06-10 20:09:28 -04:00
Kevin Brown
599de5bdaf Merge pull request #3454 from stretch4x4/3326-MaximumSelection-documentation
#3326 Maximum selection example
2015-06-10 19:56:04 -04:00
Mathias Schaefer (molily)
62b2391972 ContainerCss: Remove magic :all: correctly. Fixes #3446. 2015-06-10 23:15:43 +02:00
Stretch
e60ab22a85 Adding single select support and testing 2015-06-10 20:05:07 +10:00
Stretch
d91dfecd98 #3326 Maximum selection example
Fixing the documentation for maximumselectionlength
2015-06-10 18:59:09 +10:00
Kevin Brown
44cd938dce Merge pull request #3376 from select2/docs-improvements
New documentation theme
2015-06-07 20:47:59 -04:00
Florian Kissling
42739b780e Merge branch 'master' into docs-improvements
Conflicts:
	docs/examples.html

In the docs-improvements branch, the docs examples live in partials located in docs/_includes/examples.
The updated AJAX example code from https://github.com/select2/select2/pull/3357 – the conflicting addition to docs/examples.html – has been ported to the appropiate partial in docs/_includes/examples.data.html.
2015-06-08 02:27:33 +02:00
Florian Kissling
691dfe5340 Tidy and simplify CSS; add very basic documentation. 2015-06-08 01:46:53 +02:00
Florian Kissling
14e1c4d5f9 JavaScript indention. 2015-06-07 17:05:17 +02:00
Florian Kissling
44c64cf6da Replace "..." with an ellipsis, fix a typo. 2015-06-07 16:42:20 +02:00
Florian Kissling
2b8865b3b3 Indention, whitespace. 2015-06-07 16:40:00 +02:00
Florian Kissling
2c627b4875 Fix layout. 2015-06-07 01:03:37 +02:00
Florian Kissling
ab3d5ee884 Ditch Sass' indented syntax. 2015-06-07 00:46:05 +02:00
Florian Kissling
419242fc16 Nesting, whitespace. 2015-06-06 15:32:11 +02:00
Kevin Brown
b4a44ccfdf Adjusted the home page text
This adds the final box, which I've chosen to be for the browser
support (though that can be changed).

The last two boxes on the first row have also been swapped, partially
because the text sizes now match the second row, but also because
the AJAX support should be more prominent than the theme support.
2015-05-31 16:15:55 -04:00
Kevin Brown
038c709c8b Adjusted some wording 2015-05-31 15:11:01 -04:00
Kevin Brown
21bac6a6d8 Updated front page features
This adds correct links to the linked text on the front page under
the features section. There is still one panel which needs to be
written, the last one that includes the AJAX text again, before it
can really be considered finished.

The wording around the Bootstrap theme was adjusted pending further
discussion about how that is going to be handled.
2015-05-31 14:53:39 -04:00
Kevin Brown
bd6148e39f Merge pull request #3350 from cvrebert/patch-1
bower.json: main: select2.css => core.scss
2015-05-24 20:17:20 -04:00
Kevin Brown
fdb2b6aaf2 Merge pull request #3375 from vyrotek/patch-1
Fixed AjaxAdapter's super constructor call
2015-05-19 19:52:46 -04:00
Jason
da5a72c3ac Fixed AjaxAdapter's super constructor call
Replaced ArrayAdapter super constructor call with correct AjaxAdapter super constructor call. This will allow users to initialize an Ajax select with data.
2015-05-19 16:10:16 -07:00
Kevin Brown
dd9af68934 Merge pull request #3357 from pgilad/patch-1
Update ajax example to reflect pagination
2015-05-13 10:42:21 -04:00
Gilad Peleg
45cfac7456 Update ajax example to reflect pagination 2015-05-13 17:34:38 +03:00
Chris Rebert
b0a1192716 bower.json: main: select2.css => core.scss
Per bower/bower.json-spec#43 :
> Use source files with module exports and imports over pre-built distribution files.

Also, the example in that PR includes
/sass/motion.scss in and excludes
/dist/movement.css & /dist/movement.min.css
from its `main`.
2015-05-12 22:14:39 -07:00
Florian Kissling
87f5425464 Drop "_s2-docs-" prefix from Sass partials. 2015-05-08 04:14:41 +02:00
Florian Kissling
14c6113eef Fix indention. 2015-05-08 04:08:31 +02:00
Florian Kissling
922d54615f Fix indention, consistently declare anchor-nav relevant IDs for <h1> (instead of <section>). 2015-05-08 03:41:52 +02:00
Florian Kissling
dc679f7cbd Add a "feature overview" section to the homepage.
While I'm not too happy with things as they currently are, it's a start.
This also removes the icon from the "Download" button.
2015-05-08 03:29:16 +02:00
Florian Kissling
a2ff7a6046 Move button-specific CSS to partial. 2015-05-08 03:21:42 +02:00
Florian Kissling
bc3ce2c5b4 Navigation CSS improvements. 2015-05-08 02:47:20 +02:00
Stretch
581af39288 #3222 test cleanup
Improving my test from feedback.
2015-05-08 08:03:46 +10:00
Florian Kissling
fa421cdfc0 Fix footer border color. 2015-05-07 18:57:06 +02:00
Florian Kissling
83e0f6b034 Add link to contributors to footer. 2015-05-07 15:36:09 +02:00
Florian Kissling
9c8ddd16b8 Move select.js-source-states to partial. 2015-05-07 14:31:58 +02:00
Stretch
13cead0bd0 Adding container support #3222
Fixes issue #3222
Now templateSelection can have access to the parent container so that
classes can be added for styling
2015-05-07 21:59:51 +10:00
Florian Kissling
a0db9efdef Fix version number in footer. 2015-05-07 02:04:43 +02:00
Florian Kissling
5fd72d2052 Set "width" to "100%" as default for all Select2s on the "Examples" page. 2015-05-06 09:28:48 +02:00
Florian Kissling
cc0d662fe6 Fix ID. 2015-05-06 09:22:04 +02:00
Florian Kissling
96abf64472 Rename section "Other data sources" to "Data sources".
Also adds an introductional paragraph to the section.
2015-05-06 03:36:29 +02:00
Florian Kissling
20b64cfe15 Group single and multiple select box examples under "The basics". 2015-05-06 03:20:44 +02:00
Florian Kissling
ea70cbc24c Remove p.lead. 2015-05-06 03:05:27 +02:00
Florian Kissling
45d8486dbb Remove p.lead from .jumbotrons. 2015-05-06 03:04:48 +02:00
Florian Kissling
635b8b2f68 Use https to include ghbtns.com iframes. 2015-05-06 02:57:29 +02:00
Florian Kissling
60bcff089f FIx filename. 2015-05-06 02:51:18 +02:00
Florian Kissling
60710af6ed Add GitHub fork and star buttons to footer.
Directly borrowed from the Bootstrap docs again.
2015-05-06 02:51:10 +02:00
Florian Kissling
dfc8eecdcb Add "type" to stylesheet link tag. 2015-05-06 02:47:53 +02:00
Florian Kissling
f822cd904b Convert "Options" page contents to partials. 2015-05-06 01:47:44 +02:00
Florian Kissling
b74a0ae6e0 Move all examples to partials. 2015-05-06 01:19:05 +02:00
Florian Kissling
f54993050e This h1 should be an h2. 2015-05-04 04:28:28 +02:00
Florian Kissling
a728044fa9 More grouping on the "Examples" page.
* "Loading array data" and "Loading remote data" now go together under "Other data sources",
* "Events" and "Programmatic access" under "Programmatic control",
* "Theme support", "Responsive design" and "Templating" under "Themes, templating and responsive design"
2015-05-04 03:04:09 +02:00
Florian Kissling
cd13697695 Merge branch 'master' into docs-improvements 2015-05-03 22:20:18 +02:00
Kevin Brown
ac1680d81d Merge pull request #3290 from Sopamo/master
Improving Foundation Zurb compatibility
2015-05-03 10:45:29 -04:00
Kevin Brown
d166717f5c Merge pull request #3307 from fk/master
Update Sass vertical gradient mixin to latest version from Bootstrap Sass
2015-05-02 20:50:36 -04:00
Florian Kissling
73fb9a1367 Fix indention to match Select2's (and Bootstrap Sass') style. 2015-05-02 22:40:44 +02:00
Florian Kissling
a9beac83c3 Update Sass vertical gradient mixin to latest version from Bootstrap.
As described in https://github.com/select2/select2/issues/3304#issuecomment-98395238, this updates the mixin to the latest stable version from Bootstrap Sass which adds Sass' http://sass-lang.com/documentation/Sass/Script/Functions.html#ie_hex_str-instance_method to ensure that colors are converted "into the format understood by IE filters".
2015-05-02 22:38:18 +02:00
Florian Kissling
ba61678358 Group diacritics, RTL and l10n examples.
Just an example – very unsure what goes with what.
2015-05-02 20:53:51 +02:00
Florian Kissling
bf7d273f89 Add sidebar anchor navigation to the "Examples" page. 2015-05-02 14:10:31 +02:00
Florian Kissling
3ed07a6fda Stop anchorjs from suffixing its links for "Placeholders" and "Templating" headlines.
Cosmetic changes for the homepage 3.x docs notice.
2015-05-01 04:30:52 +02:00
Florian Kissling
54d2b347b0 Merge remote-tracking branch 'upstream/master' into docs-improvements 2015-05-01 03:49:23 +02:00
Kevin Brown
197384342b Merge pull request #3301 from fk/master
Add `!important` to `.select2-hidden-accessible`.
2015-04-30 14:03:11 -04:00
Florian Kissling
31830c7b32 Add !important to .select2-hidden-accessible.
`.select2-hidden-accessible` is the CSS class that is added to the original `<select>` element (that Select2 is initialized on) to hide it.
In cases where the original `<select>` has other style declarations assigned which conflict with those of `.select2-hidden-accessible`, the latter styles may be overridden, possibly resulting in the original `<select>` element not being properly hidden.

Similar to what https://github.com/select2/select2/pull/1549 did for Select2 v3's CSS, this adds the `!important` rule to all style declarations for `.select2-hidden-accessible` to make it exponentially harder to override them.
2015-04-30 19:09:18 +02:00
Florian Kissling
365ec579b7 Typography. 2015-04-30 00:59:06 +02:00
Florian Kissling
fb40644c42 Add <code> tags. 2015-04-28 04:01:33 +02:00
Florian Kissling
445c48236d Merge branch 'master' into docs-improvements
Conflicts:
	docs/announcements-4.0.html
	docs/index.html
2015-04-28 03:11:24 +02:00
Florian Kissling
b34e5b3925 Tidy. 2015-04-28 02:57:58 +02:00
Florian Kissling
9d85d7fb41 Move 3.x docs notice to partial. 2015-04-28 02:50:05 +02:00
Florian Kissling
082dda4830 Improve headline. 2015-04-28 02:49:27 +02:00
Florian Kissling
4b34dc7063 Calmer "Example Code" headlines. 2015-04-28 02:42:18 +02:00
Florian Kissling
c57a6fea90 Change "Loading remote data" formatRepo() markup.
Now fits the styles in docs/_sass/_s2-result-repository.
2015-04-28 02:41:52 +02:00
Florian Kissling
4ab6567f1d Calmer "Version". 2015-04-28 02:40:04 +02:00
Florian Kissling
58eadd5718 Fix border colors. 2015-04-28 02:36:57 +02:00
Florian Kissling
f061ada2e1 Simplify. 2015-04-28 02:08:53 +02:00
Florian Kissling
f033428742 Center text. 2015-04-28 02:08:20 +02:00
Florian Kissling
d430ff998e Add logo to .navbar-brand. 2015-04-28 02:08:06 +02:00
Florian Kissling
8ddd29ff41 Add paragraphs. 2015-04-28 02:07:23 +02:00
Florian Kissling
f26cc14874 Whitespace. 2015-04-28 02:00:22 +02:00
Florian Kissling
2cd6e864f7 Include new Sass partials. 2015-04-28 01:52:55 +02:00
Florian Kissling
eb3f4c180b Move vendor/prettify.css to _sass/_prettify.scss. 2015-04-28 01:52:35 +02:00
Florian Kissling
041c7ee8ec wrap "initSelection" in <code>. 2015-04-28 01:47:25 +02:00
Florian Kissling
eef50c9b94 Add .s2-docs-home to "home" layout, add partial for homepage CSS. 2015-04-28 01:43:31 +02:00
Florian Kissling
e0e79dbc4e Make "Topics" menu item .active when "announcements-4.0" is the current page. 2015-04-28 01:36:23 +02:00
Florian Kissling
49b7c312e0 gitignore .sass-cache. 2015-04-28 01:35:14 +02:00
Florian Kissling
80dbd692db Don't show line numbers for one line code examples. 2015-04-28 01:17:01 +02:00
Florian Kissling
33b637dbf9 Ditch wrong .lead copy. 2015-04-28 01:16:18 +02:00
Florian Kissling
f73dc290fd Move most of the default CSS to partials/Sass. 2015-04-28 01:15:49 +02:00
Kevin Brown
b1a6d357f9 Merge pull request #3291 from aitor/patch-1
Swap inputTooLong and inputTooShort error messages
2015-04-27 15:06:54 -04:00
Aitor García Rey
42075c6233 Swap inputTooLong and inputTooShort error messages
"Engada"  in galician is "to add" and therefore should be the base text used for the inputTooShort method, asking the use to add more chars. It seems to be mistakenly defined exactly the opposite it should be (as inputTooLong was containing the right text).
2015-04-27 17:20:03 +00:00
Paul Mohr
d4b1247640 Improved Zurb Foundation compatibility
The input fields have a slight box shadow which we want to remove here.
2015-04-27 16:40:41 +02:00
Paul Mohr
6a551dfe74 Improved Zurb Foundation compatibility
The input fields have a slight box shadow which we want to remove here.
2015-04-27 16:38:43 +02:00
Florian Kissling
a2b31e2240 Add animation to the "hamburger icon".
Courtesy of Julien Melissas, ref. http://codepen.io/JulienMelissas/pen/LEBGLj
2015-04-27 09:35:29 +02:00
Florian Kissling
7b62c7d444 Remove icon. 2015-04-27 09:31:42 +02:00
Florian Kissling
25a69716ac Add sidebar anchor navigation. 2015-04-27 09:31:28 +02:00
Kevin Brown
80eb44bec7 Bump version numbers for 4.0.0 release 2015-04-26 17:02:52 -04:00
nath
e416e47356 Added back dropdownAutoWidth option
This adds back the `dropdownAutoWidth` option, so the dropdown can
have a width that is automatically determined by the browser. This
works best for smaller dropdowns that contain options with large
amounts of text.

This closes https://github.com/select2/select2/issues/3103.
This closes https://github.com/select2/select2/pull/3113.

Signed-off-by: Kevin Brown <kevin@kevin-brown.com>
2015-04-26 16:55:22 -04:00
Kevin Brown
86bf6dc272 Removed pre-release note
This removes the pre-release note from the 4.0.0 announcement and
also adds an example for the `matcher` option.
2015-04-26 16:27:22 -04:00
Florian Kissling
b68a7b38a0 Remove explicit "Home" link. 2015-04-25 04:35:55 +02:00
Florian Kissling
25ba1ef1f3 Prettify <pre> on homepage. 2015-04-25 04:34:15 +02:00
Florian Kissling
8a1a35aa15 Make "Download" button stand out a little more. 2015-04-24 03:41:08 +02:00
Florian Kissling
d813feaa7b Simplify homepage .jumbotron. 2015-04-24 03:38:00 +02:00
Florian Kissling
0474e69e6e Add .s2-docs-container to enable anchor.js. 2015-04-24 03:37:20 +02:00
Florian Kissling
15f9922437 Add .navbar-default. 2015-04-24 03:36:45 +02:00
Florian Kissling
481a2f89c9 Add ID. 2015-04-24 03:17:34 +02:00
Florian Kissling
69d8ac4485 Whitespace. 2015-04-24 03:10:54 +02:00
Florian Kissling
96cb7f56ae Move Google Analytics script to include. 2015-04-24 03:09:41 +02:00
Florian Kissling
d98cbcec21 Add a fixed sidebar with anchor navigation to the sidebar.
Borrowed from the Bootstrap doc implementation.
2015-04-24 03:02:56 +02:00
Florian Kissling
f8ecee7783 Add .jumbotron with headline and dummy .lead. 2015-04-24 02:56:28 +02:00
Florian Kissling
5a44b40ee6 Move .lead into .jumbotron. 2015-04-24 02:55:57 +02:00
Florian Kissling
a0b7afbf2f Add .jumbotron to #pre-release. 2015-04-24 02:55:26 +02:00
Kevin Brown
c80b4b0989 Merge pull request #3277 from ognistyi/ru_translation
added RU translation for errorLoading
2015-04-22 13:25:24 -04:00
Andrew Ognistyi
d6886fe6dd added translation for errorLoading 2015-04-22 19:32:45 +03:00
Florian Kissling
80899d973f A first shot at improving the .jumbotron styles. 2015-04-22 18:08:11 +02:00
Florian Kissling
8b344f18b7 Don't override Bootstraps default body font-size. 2015-04-22 18:06:42 +02:00
Florian Kissling
439e834b38 Group buttons for "Programmatic access" and "Disabled mode" demos.
This also gets rid of the colored buttons in favor of `.btn-default`, prevents wrapping of the "Destroy" button of the first button group of the "Programmatic access" demos to a second line and consistently places buttons below the Select2 widgets they apply to.

Ref. http://getbootstrap.com/components/#btn-groups.
2015-04-22 18:05:59 +02:00
Florian Kissling
102cadf02b Switch to the regular (white) Bootstrap navbar. 2015-04-22 17:42:40 +02:00
Florian Kissling
7bf7ab16c7 Separate "Release notes" from the "4.0 Announcement".
While the latter is part of the docs, the "Release notes" are linked to the GitHub "Releases" section; thus the added divider.
2015-04-22 17:42:11 +02:00
Florian Kissling
49c03ba6cf Remove code example text shadow. 2015-04-22 17:38:47 +02:00
Florian Kissling
ae80d23421 Remove the "About" section on the homepage.
With the additional footer navigation in place, it should be safe to remove these.
2015-04-09 21:19:22 +02:00
Florian Kissling
92052cb600 Expand footer navigation mimicking the Bootstrap docs footer.
Adds

 * version information
 * links to the GitHub repository, issues and releases
 * links to the examples and options
 * a link to the 3.5.2 docs

to the footer as well as namespaced styles for the footer in general as well as all the above.
2015-04-09 21:00:52 +02:00
Florian Kissling
df2122c00f Add anchor.js for pages using the default layout.
* adds styles for anchor.js (similar to the official Bootstrap docs)
 * currently results some of the generated links to have a suffix (e. g. examples.html#templating-1) added due to sections having the same ID as the headline copy that we want to link to
2015-04-09 20:27:45 +02:00
Kevin Brown
f3f1b31958 Add back *css* options through an adapter
The old functionality where classes were directly copied to the
container can be done by setting `dropdownCssClass: ':all:'` when
initializing Select2.

This closes https://github.com/select2/select2/issues/2879.
2015-04-05 21:58:02 -04:00
Kevin Brown
4fc874a3ae Improve jQuery performance issues
This improves a regression added in b9b55cec44
that reduced performance for large number of options when using a
jQuery collection object to append multiple options instead of
using a bare array containing the jQuery elements.

As `$.fn.add` is only required for jQuery 1.7.x, we can use a
utility function that only falls back to it for that specific
version of jQuery, and uses `$.fn.append` with an array for all
other versions.

This closes https://github.com/select2/select2/issues/3230.
2015-04-05 20:08:33 -04:00
penihel
c24293f2ba Render native select out of screen
This closes https://github.com/select2/select2/issues/3065.

Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2015-04-02 12:01:32 -04:00
Kevin Brown
a993ed9ca9 Warn when Select2 is called without being initalized
Since Select2 methods should not be called on an element where
Select2 has not yet been initialized, this raises an error when it
happens.  This does not silence the original error, but it does
provide the user with some more context about why they are seeing
a TypeError.

This closes https://github.com/select2/select2/issues/3173.
2015-04-02 11:41:18 -04:00
Kevin Brown
878de20d44 Fix typo in documentation
This closes https://github.com/select2/select2/issues/3213.
2015-04-02 11:29:44 -04:00
Kevin Brown
e7498987a5 Fix abort with JSONP
We now check that the `abort` method actually exists before aborting
the request, as JSONP does not include the `abort` method because
a JSONP request technically cannot be aborted.

This closes https://github.com/select2/select2/issues/3217.
2015-04-02 11:26:23 -04:00
Kevin Brown
a8e6cbc0c9 Add back keyboard support within allowClear
This adds back keyboard support, so you can now clear a selected
item using either the backspace or delete key.  This only work when
the container is closed, to prevent issues with the selection being
clear while a user is searching.

This was a regression in accessibility from 3.x.

This closes https://github.com/select2/select2/issues/3224.
2015-04-02 11:21:10 -04:00
Kevin Brown
00a78bdb1e Allow for a partial dictionary in language
This closes https://github.com/select2/select2/issues/3202.
2015-04-02 10:52:31 -04:00
Kevin Brown
01160f29d8 Allow chaining of .select2()
`.select2("open")`, `.select2("close")`, and `.select2("destroy")`
can now be safely chained.

This closes https://github.com/select2/select2/issues/3221.
2015-04-02 10:34:30 -04:00
jongwoo Yoo
da1ec4e028 fix error: "Uncaught ReferenceError: require is not defined"
Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2015-04-02 10:29:22 -04:00
Kevin Brown
cc1eefb78f Merge pull request #3188 from Brankub/master
Fixes #3169 issue with selectOnClose errors
2015-03-25 10:31:48 -04:00
Brankub
010cf29902 switched back to this instead of self 2015-03-25 10:07:55 +02:00
Brankub
2b9c8b00a7 remove evt 2015-03-24 15:14:32 +02:00
Brankub
e10f3b7dae fixes #3169 2015-03-24 14:44:23 +02:00
Kevin Brown
9318980651 Merge pull request #3178 from tylerpearson/master
Fix misspelling
2015-03-20 09:16:35 -04:00
Tyler Pearson
c0dadf44a1 Fix misspelling 2015-03-19 20:58:57 -07:00
Kevin Brown
54154c3df6 Selected property of the element, not object
Slight revision to the changes made in
9d359c9b38.
2015-03-18 11:55:47 -04:00
Kevin Brown
0c573df402 Prevent IE from going back on backspace
This closes https://github.com/select2/select2/issues/3168.
2015-03-18 11:53:40 -04:00
Kevin Brown
14279a012b Handle special characters in object ids
Slight performance hit as we are no longer using `qurySelectorAll`,
but it handles the situation a bit more cleanly and prevent future
issues with special characters.

This closes https://github.com/select2/select2/issues/3157.
2015-03-18 10:56:10 -04:00
Kevin Brown
1f62eb67e8 Fix TypeError
This closes https://github.com/select2/select2/issues/3160.
2015-03-18 10:48:47 -04:00
Kevin Brown
9d359c9b38 Update the selected property on objects
This fixes the results display so they prefer the `selected`
property on objects over checking if the `id` matches the value of
the underlying select.

We only ignore the `selected` property if it is null, at that point
we compare against the `id` property.

This closes https://github.com/select2/select2/issues/3163.
2015-03-18 10:41:04 -04:00
Kevin Brown
a6999990b0 Fixed Hebrew translation
This should have been in he.js in the first place.
2015-03-18 09:44:04 -04:00
Kevin Brown
607fdf4b4c Merge pull request #3170 from yonihbc/patch-1
he.js
2015-03-18 09:15:31 -04:00
yonihbc
faed59cd42 he.js 2015-03-18 13:39:36 +02:00
Kevin Brown
69e2d73c42 Bump version numbers for rc.2 2015-03-14 20:51:32 -04:00
Kevin Brown
a06379ce8d Normalize ids to string for remote data
This also fixes an issue where we were using the `full_name` for
the value instead of the `id` in the example, which technically
wasn't correct.

This closes https://github.com/select2/select2/issues/3148.
2015-03-14 20:36:06 -04:00
Kevin Brown
5a25c33fc5 Don't do a null check for tags
This closes https://github.com/select2/select2/issues/3155.
2015-03-14 20:11:38 -04:00
Kevin Brown
e5d97e0de0 Fixed the emphasis in the release announcement 2015-03-14 20:06:26 -04:00
Kevin Brown
d146313256 More about initSelection
In the past, `initSelection` was used for loading in data objects
for the pre-selected options. Now that Select2 is using a `<select>`
element, there is no need for doing this because the `<option>`
elements should provide the relevant information. So you can now
just pull this information from the remote data source
(or static array, in some cases) and build out the `<option>`
elements manually.

In most cases you don't need to go the full length with a custom
data adapter, but instead are just looking to pre-load elements on
the initial page load.

This improves https://github.com/select2/select2/issues/3116.
2015-03-14 19:58:50 -04:00
Kevin Brown
aa8978e551 Rip out the old AMD docs 2015-03-14 19:49:47 -04:00
Kevin Brown
fc43f00b59 Only use aria-owns when the dropdown is open
This fixes part of https://github.com/select2/select2/issues/3144.
2015-03-14 19:39:28 -04:00
Kevin Brown
7e4e8bc9d6 Relative paths for require
Now we can use relative paths in the calls to `require`, so those
using relative builds don't have to worry about modules not being
imported properly. This also makes it considerably easier in the
future when we look to cut down the build sizes and have a custom
builder, as we don't have to worry as much about the paths being
incorrect.

This fixes https://github.com/select2/select2/issues/3014 finally.
2015-03-14 19:22:34 -04:00
Kevin Brown
d1e8a6fdad Overhaul of the AMD integration
Now we do not have separate AMD builds, instead we use a UMD wrapper
to support both AMD and CommonJS environments along with the browser.
This has been tested with RequireJS and it correctly imports Select2
and hooks into jQuery.

This means that all builds will include the Almond AMD loader, but
this isn't that much of an issue when you consider the file sizes.
The loader is namespaced so RequireJS and other AMD builders don't
complain about `require` and `define` existing. This is also done
so AMD loaders don't conflict, as Select2's AMD loader should
operate independently of others.

There are now two layers of wrappers that are applied to files,
only one of which is used for the translation files. This allows
us to only load in the internal Select2 modules once, and in
general makes most things cleaner. These have also been pulled out
into individual JS files instead of being stored in JSON files,
allowing us to add comments and make things look readable.

Because we use a few hacks, these files are heavily commented as well.

This closes https://github.com/select2/select2/issues/2945.
This closes https://github.com/select2/select2/issues/2946.
2015-03-14 19:05:24 -04:00
Kevin Brown
e8fd5a0352 Fix select2('data') again
This finally fixes and adds some integration tests to make sure
that `select2('data')` works as we are expecting. This also adds
tests for `select2('val')` and fixes undefined variable issues
that were spotted because of these tests.

We also no longer date stamp distribution builds.

This closes https://github.com/select2/select2/issues/3104.
2015-03-14 15:23:29 -04:00
Kevin Brown
7a1791d5f3 Merge pull request #3147 from justanotheranonymoususer/patch-1
Fixed a link in README.md
2015-03-13 10:35:33 -04:00
Kevin Brown
7d19b97aa0 Merge pull request #3145 from qcaron/master
Updated 15 of the translation files so 'maximumSelected' is used instead of 'maximumSelection'
2015-03-13 10:33:50 -04:00
justanotheranonymoususer
5acd96ee1e Update README.md 2015-03-13 12:35:19 +02:00
Quentin Caron
a3e8cd8f9b Updated 15 of the translation files so 'maximumSelected' is used instead of 'maximumSelection' 2015-03-12 22:11:36 +01:00
Kevin Brown
e3d7cd2d69 Fixed allowClear on fixed width
This moves the clear icon to the top of the DOM from the bottom to
ensure that it is always visible on top of the selection.

This closes https://github.com/select2/select2/issues/3089.
2015-03-11 21:28:06 -04:00
Kevin Brown
78c301f4fb Added debug option
Now most of the warning messages will only be displayed if the
`debug` option is set when initializing Select2.

This closes https://github.com/select2/select2/issues/3100.
2015-03-11 20:41:10 -04:00
Kevin Brown
7feb90f256 Modified banner for translations
We don't need to update the dates on these every time that grunt
is called. This gives it a much more basic banner that is similar
to the minified version.
2015-03-11 20:40:08 -04:00
Kevin Brown
6c0dd6684b Add an actual banner to the JS file
This adds an actual banner that contains the version number and a
link to the license to the top of the files.

This closes https://github.com/select2/select2/issues/3118.
2015-03-11 20:26:48 -04:00
Kevin Brown
55d3c636cc Skip the nested data test on unsupposed browsers
The nested data attributes are only supported on jQuery 2.x or
browsers which support the `dataset` attributes on DOM elements.
In order to prevent test failures, and because tests cannot yet
be skipped conditionally, we just cut the test early.
2015-03-11 19:46:48 -04:00
Kevin Brown
992652bbd2 Expand IE testing
Now that our tests are using jQuery 1.7.2 we can run our tests on
IE8 automatically.
2015-03-11 19:26:30 -04:00
Kevin Brown
b9b55cec44 Tests use jQuery 1.7.2
As jQuery 1.7.2 is the lowest version of jQuery supported by Select2,
it makes sense to run the tests on it. For the most part, we can
assume that the newer versions of Select2 are backwards compatible
enough such that this isn't an issue.

The recommended version of jQuery to use is the latest though, which
is why the jQuery file is only included in the tests.

This revealed a few issues with our data fallbacks and `.append`
functionality that was introduced in jQuery 1.8.
2015-03-11 19:20:41 -04:00
Kevin Brown
4fb079b34f Combine tests into a single file
This combines all of the tests into a single HTML file. This reduces
the number of Sauce Labs sessions and should improve test times.
2015-03-11 18:51:55 -04:00
Kevin Brown
30974e2422 Only test Opera 12 once
Looks like Sauce Labs is not going to have tests running on later
versions of Opera, probably because it switched to Chromium/Blink.
Removing it from the builds so we reduce the time it takes.
2015-03-11 18:30:38 -04:00
Kevin Brown
610381be4a Strip whitespace by default for tags
This strips whitespace in tags by default, so multiple tags cannot
be created with only whitespace as the difference in the id.

A test has been added to ensure that this remains fixed in the future.

This closes https://github.com/select2/select2/issues/3076.
2015-03-11 18:23:10 -04:00
Kevin Brown
95be140760 Fixed select2('data')
This fixes an issue with `select2('data')` that caused it to not
work as intended. Because we were using `Select2.data` for the
data adapter, it was overriding the `Select2.data()` method which
was supposed to be used.

This just renames the `Select2.data` property to
`Select2.dataAdapter` to prevent the naming collision.

This closes https://github.com/select2/select2/issues/3104.
2015-03-11 18:16:21 -04:00
Kevin Brown
0da15aa586 Fixed option text encoding
This fixes an issue when using a `<select>` where the elements were
created with XHTML-encoded characters to prevent any injection, as
they would be double-encoded and display incorrectly.

When using a `<select>`, we can assume that the data has already
been encoded because any XSS will have already run before we get to
it.  Because of this, we can just use `.text()` instead of `.html()`
to avoid any issues.

This also includes a test to ensure that this does not become an
issue in the future.

This closes https://github.com/select2/select2/issues/3115.
2015-03-11 18:12:14 -04:00
Kevin Brown
b917754e55 Merge pull request #3122 from cristi-badila/master
Fixes issues with inputData module. When unselecting an item it would previously unselect all items
2015-03-10 13:21:09 -04:00
Cristi Badila
24f3c4777d Fixes issues with inputData module. When unselecting an item it would previously unselect all items 2015-03-10 19:16:17 +02:00
Kevin Brown
fff04c3f0c Merge pull request #3099 from yoonsy/master
added Korean translation.
2015-03-06 20:01:09 -05:00
Kevin Brown
2df4f5385c Merge pull request #3117 from krautcomputing/fix_typo
fix typos (lanugage -> language)
2015-03-06 20:00:40 -05:00
Kevin Brown
9006e88047 Merge pull request #3111 from ahmadazimi/master
Add Farsi (Persian) language support.
2015-03-06 19:57:57 -05:00
Manuel Meurer
43480954a4 fix typos (lanugage -> language) 2015-03-06 22:18:09 +01:00
Ahmad Azimi
36431d5718 move ignores to user-level .gitignore file 2015-03-05 23:59:32 +03:30
Ahmad Azimi
be9168bc5a Remove unneeded 's' for plural forms 2015-03-05 22:05:15 +03:30
Ahmad Azimi
a6b5b40eb5 Add Farsi (Persian) language support.
Editor config folder and .DS_Stroe files added to .gitignore
2015-03-05 21:56:12 +03:30
yoonsy
45c815da50 remove unneeded 's' for plural and fix comment. 2015-03-03 22:32:22 +09:00
yoonsy
c1bc88eccd added Korean translation. 2015-03-03 22:20:22 +09:00
Kevin Brown
d3c887286d Update CDN version numbers 2015-03-01 22:09:37 -05:00
Kevin Brown
9d6752e3ea Bumping version numbers for rc.1 release 2015-03-01 21:30:37 -05:00
Kevin Brown
94875679f8 Automatically open search when typing
This fixes an issue where the dropdown would not automatically
open when something was typed in the search box on a multiple
select.  This was most noticeable when the dropdown closed and
the search box was focused and the user started to type, as the
text would appear in the search box, queries would be sent out to
retrieve results, but the dropdown would not be opened to display
the results.

This also fixes an issue introduced in a recent commit where search
queries would be sent out twice on modern browsers that supported
both the `keyup` and `input` event.  The `keyup` event is now
properly debounced for these browsers and the queries are only
going out once.

This closes https://github.com/select2/select2/issues/3036.
2015-03-01 21:01:11 -05:00
Kevin Brown
017c201094 More intuitive handling of the enter key
Previously, when in results the enter key would select items that
were highlighted if they were not already selected.  In the case of
a select where multiple items could be selected, pressing enter
when highlighting a selected item would also allow it to be
unselected.  While this seems intuitive for accessibility purposes,
the enter button essentially working as a toggle, it caused some
really strange behavior.

- If the enter button was held down, all previously selected items
  would be unselected.
- The enter button did not work the same across both single and
  multiple selects.

After listening to user feedback, I have decided to remove the
"enter as toggle" functionality from Select2 and have gone back to
just having the enter button select items.  This means that instead
of unselected items that are already selected and highlighted,
Select2 will just close the dropdown.  This is the same as what
Select2 would previously do for single selects, so the keyboard
functionality is now the same across both.

Because this removed the only easy way to unselect items in the
dropdown using the keyboard, we had to maintain the toggle
functionality.  We decided to implement the toggle functionality
on the CTRL + Space keybinding, which is in line with other
applications.  Now when pressing CTRL + Space at the same time in
the dropdown, the highlighted result will behave the same as if the
mouse selected it, which will toggle the current item in multiple
select mode and close the dropdown in single select mode.

This is the same keybinding that Windows Explorer [1] and GTK [2]
use for toggling the current selection, which was why it was picked.

This also fixes an issue where keyboard focus would be lost once an
item was unselected from the results.  This was due to a bug in the
CloseOnSelect module that would only automatically close the
dropdown when an item was selected, but not when an item was
unselected.  Now the dropdown will be closed automatically when an
item is unselected, which will also cause the selection (and
eventually the search) to be focused.

This fixes two issues described in
https://github.com/select2/select2/issues/3036#issuecomment-76321411.

[1]: http://superuser.com/q/78891/72528
[2]: https://developer.gnome.org/gtk3/stable/GtkIconView.html#GtkIconView-toggle-cursor-item
2015-03-01 20:30:43 -05:00
Kevin Brown
c0839b4f93 Fix searching in Firefox for Android
This fixes an issue where most keys would not trigger the search
in Firefox for Android.  There were only a few keys which would
trigger `keyup`, such as space and enter (the search icon), but
they were not consistent.  We know that they were being triggered
though, as you could type "new " (note the space) and it would
trigger a search, giving us all states that started with "new".

The problem is that Firefox for Android does not consistently
trigger `keyup` and `keydown` events when a keyboard is used.  To
work around the issue, we are now using the `input` event in
replacement of the `keyup` event, which was used to trigger the
search.  While this is not an actual `KeyboardEvent` in Chrome, and
lacks some of the important metadata such as `which`/`key` in
Firefox, it works for our implementation.

As the `input` event is not supported in older browsers, such as
those before Internet Explorer 9, we have to listen for both the
old `keyup` event and the new `input` event.  As the `input` event
is always triggered before the `keyup` event, we unbind the `keyup`
event automatically to prevent searches from being triggered twice.
This solution was discovered in a blog post by Mathias Bynens at
https://mathiasbynens.be/notes/oninput.

**Note:** The ability to backspace in a blank text field on multiple
selects in order to remove the last selected item does not work in
Firefox for Android because the `keydown` event does not trigger
when the text field is empty.  Users can still use the "x" icon
provided at the start of every selected option to achieve the same
effect.

This closes https://github.com/select2/select2/issues/2997.
2015-03-01 19:41:27 -05:00
Kevin Brown
61916b2cfb Build latest commits 2015-03-01 19:03:30 -05:00
Kevin Brown
4eaa8c5488 Merge pull request #3074 from loic/title_when_multiple
Fixed the title attribute for choices on "multiple" widgets.
2015-02-27 20:41:04 -05:00
Kevin Brown
5c9dc0e509 Added example for hiding search
This also fixes a possible issue where the `< 0` fallback would
not be used because the `minimumResultsForSearch` check would
always return false and never load in the module.

This closes https://github.com/select2/select2/pull/3077.
2015-02-27 20:37:48 -05:00
Kevin Brown
55f995ea21 Fixed data-ajax-url fallback
This fixes the fallback path for the `data-ajax-url` attribute on
elements.  As this attribute was previously supported in Select2,
the attribute has been migrated to the new, nested format of the
url and triggers a deprecation warning when it is used.  Because
of a fix to the `data-*` attribute parsing made in a9f6d64 that
allowed for nested attributes to be parsed correctly in modern
browsers under jQuery 1.x, the deprecation warning would be
triggered but the attribute would no longer actually be used.

This also fixes some of the `.data` calls to use the camel cased
version of the key instead of the dashed version, which is the
preferred key and will be enforced in future versions of jQuery
as the only way to access data attributes.

Now in situations where the `dataset` attribute is used by Select2,
it combines the results of both `$e.data()` and `e.dataset` when
generating the object containing all of the options.  This will
the `dataset` fix to still be used, while also still relying on
jQuery to do additional parsing on any options that it can.

The `dataset` fix is now only used on jQuery 1.x, as that is the
only version of jQuery affected by the dash issue.  This is done
using version number parsing on the `$.fn.jquery` property that is
defined by jQuery.  As this property is not defined in Zepto and
many other jQuery compatible checks, we only include the fallback
if the property is available.  This assumes that any jQuery
compatible libraries that are in use will not include the same dash
issue, which we believe is a safe assumption given that it did not
match the HTML `dataset` specification.

This also adds a few tests to ensure that the deprecated attributes
still continue to function.

This closes https://github.com/select2/select2/issues/3086.
2015-02-27 20:11:13 -05:00
Kevin Brown
3630385cf7 Merge pull request #3051 from select2/issue_3022
Added compatibility with `<input type="text" />` tags
2015-02-27 18:47:13 -05:00
Kevin Brown
5ec852e18c Added documentation for <input type="text" />
This adds basic documentation explaining that there are compatibility
decorators for `<input type="text" />` support. This is not fully
compatible with all features and requires the use of an external
adapter like the `ArrayAdapter` or `AjaxAdapter` to provide a
reasonable way to query results.

This also triggers a warning if the adapter is used with a hidden
input, as the degraded functionality when there is no JavaScript
support should be discouraged.
2015-02-27 18:38:16 -05:00
Kevin Brown
e9bfa72966 Added tests for the <input /> element 2015-02-27 18:37:06 -05:00
Kevin Brown
956ac46dab Added compatibility with <input /> tags
This adds backwards compatibility back into Select2 for `<input />`
tags.  The compatibility modules are only available in the full
version and will trigger a warning if a hidden input is being used.

With the new decorator, Select2 should support the basic operations
that it previously did, with the exception of completely overriding
the internal objects. As we no longer expose `data` as a writable
method, it is no longer possible to completely override the selected
data. The state is still managed internally, but in order to prevent
data corruption issues in the past, it is not exposed to the public.

Some small changes needed to be made to how Select2 was dynamically
generating new `<option>` tags, so now a method is called that can
be overridden. In the case of the new decorator, this method is
intercepted and handled without having to actually place the
`<option>` tags into the DOM.

The decorator is applied after all of the other defaults, as the
defaults are not given the current element.

There has only been limited testing with this decorator, primarily
using the `data` and `placeholder` options.

This closes https://github.com/select2/select2/issues/3022.
2015-02-27 18:36:34 -05:00
Loic Bistuer
170ca5f57b Fixed the title attribute for choices on "multiple" widgets. 2015-02-26 11:22:05 +07:00
Kevin Brown
a954bae228 Compile Swedish translations 2015-02-24 19:36:44 -05:00
Kevin Brown
5b95c0e834 Clarified the documentation README [ci skip]
The documentation README was previously intended to be read from
the documentation repository, not from the source repository.
This had the potential to give off the impression that documentation
pull requests were not allowed, when exactly the opposite is the
case.  The README has been improved to make it more clear how to
contribute pull requests to update the documentation.

Thanks to Brent Connor [1] for pointing out this issue over at
Stack Overflow [2].

[1]: https://stackoverflow.com/users/3954106/brent-connor
[2]: http://stackoverflow.com/q/28705192/359284
2015-02-24 17:27:16 -05:00
Kevin Brown
9ad1ed8b43 Merge pull request #3067 from stozze/i18n_sv
Swedish i18n
2015-02-24 17:26:57 -05:00
Stozze
1b707960de Swedish i18n 2015-02-24 23:38:21 +02:00
Kevin Brown
a9f6d64b72 Added .dataset fallback for jQuery 1.x
As we have established already, jQuery 1.x does not correctly handle
`data-*` attributes where there are multiple dashes.  This makes it
so we can still handle nested options when working with jQuery 1.x
by using the `.dataset` option that is supported by all major
browsers as well as IE 11+.

Browser support tables for the `.dataset` attributes can be found at
http://caniuse.com/dataset

A notice was already added to the documentation about this in
caeb0ec9b7.

The related ticket in the jQuery repository about this issue is
https://github.com/jquery/jquery/issues/2070.

This closes https://github.com/select2/select2/issues/2969.
2015-02-24 14:42:27 -05:00
Kevin Brown
dc2f6d451a Fix example code for the old matcher 2015-02-24 14:18:07 -05:00
Kevin Brown
f367185a8a Merge pull request #3056 from harshadsabne/select2-ng
Create hi.js
2015-02-24 09:02:23 -05:00
Harshad Sabne
e88440cab3 Create hi.js
Added i18n for Hindi language.
2015-02-20 12:02:25 +05:30
Kevin Brown
e6f249f66d Fixed Array.indexOf in i18n/uk.js 2015-02-17 12:47:48 -05:00
th3byrdm4n
07c4db1de2 replaced usages of [].indexOf with $.inArray()
X-Browser Compatibility (and performance) reasons.

Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2015-02-17 12:41:36 -05:00
th3byrdm4n
e75cd78c51 word-wrap: nowrap styling
Added `word-wrap: nowrap` to places it wasn’t explicit.

Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2015-02-17 12:41:25 -05:00
Kevin Brown
2988cc2bee Pull requests are marked as 'false', not missing 2015-02-14 19:08:23 -05:00
Kevin Brown
e8a12133f8 Don't run Sauce Labs tests on pull requests
Due to security restrictions within Travis CI, we cannot use secure
environment variables in pull requests.  This means that the tests
cannot be run in the Sauce Labs environment.

http://docs.travis-ci.com/user/pull-requests/#Security-Restrictions-when-testing-Pull-Requests
2015-02-14 19:05:05 -05:00
Kevin Brown
4271b10531 Add docs for three more options
This adds documentation for the follow options

- `minimumInputLength`
- `maximumInputLength`
- `minimumResultsForSearch`

This closes https://github.com/select2/select2/issues/3035.
2015-02-14 16:53:17 -05:00
Flávio
86c23c0f5c Create pt.js
European Portuguese Translation
2015-02-14 12:16:18 -05:00
Kevin Brown
8572299a2e Added IE 10 and Opera testing
We are special casing Opera 12 as well as the latest Opera version
because Opera 12 was the last release because Opera switched to the
Webkit rendering engine.
2015-02-14 00:42:59 -05:00
Kevin Brown
3d013020ae Improved focus detection and key handling
Now the focus of the selection container is correctly monitored so
there is a consistent 1px black border on the default theme whenever
it is focused.  This requires `focusin`/`focusout` support, which is
supported by all major browsers except for Firefox.  In Firefox, the
old focus appearance is still consistent and has not been broken
by this update.

The key handling has also been improved such that some of the logic
detection that was previously done within the search handlers for
multiple select searches is now pushed back to the base selection.

This closes https://github.com/select2/select2/issues/2995.
2015-02-14 00:37:51 -05:00
Kevin Brown
b382fdca9c Clone the tabindex from the original select
Previously Select2 would assume that the tab index for the
`<select>` was `0`, which is the browser default.  Now Select2 will
clone the tab index from the original element, and correctly restore
it when it is destroyed or disabled/enabled.

This closes https://github.com/select2/select2/issues/3031.
2015-02-13 23:57:18 -05:00
Kevin Brown
ef5c88a6f6 Add box-sizing to another area
This closes https://github.com/select2/select2/issues/3029.
2015-02-13 23:37:29 -05:00
Kevin Brown
72e5c2a50d Combine tests into common files
This groups tests into common HTML files so they can be run more
quickly. This also reduces the number of Sauce Labs instances that
have to be run, as one instance was previously spun up for each
file.
2015-02-13 23:29:56 -05:00
Kevin Brown
a2a99e64ba Merge pull request #3012 from burnb/select2-ng
fix - add event listener for opera 12
2015-02-13 22:58:41 -05:00
Kevin Brown
081580bcd8 Fix undefined variables
There were a few undefined variables being referenced within the
Select2 code.  The JSHint configuration has been modified to fail
if there are undefined variables being referenced, including any
global variables.

There is an exception that is being made for the jQuery shim, as it
must try to find the global jQuery references.

An exception is made for the test helpers, as the SauceLabs reporting
variables are not camelCase, and would normally trigger warnings.

This closes https://github.com/select2/select2/pull/3028.
2015-02-13 22:49:54 -05:00
Kevin Brown
e383cb573c Build zh-CN 2015-02-13 22:25:45 -05:00
Kevin Brown
08014add7c Fixed local server not starting for Travis 2015-02-13 22:22:14 -05:00
Kevin Brown
a0c26e1114 Hook up with SauceLabs
This sets up Select2 to be able to run tests on the SauceLabs
environment. This will allow us to run the tests on different
browsers in the future, though at the moment we need to start
combining test files.

This required adding a snippet of code for reporting QUnit test
results to SauceLabs within the global test helper file.

The tests currently cannot be run on IE 8 because all of the tests
are using jQuery 2.x, which is not compatible.
2015-02-13 21:59:09 -05:00
Kevin Brown
d51570e1fe Merge pull request #3041 from minddust/fix-typos
Fix typos
2015-02-13 09:21:16 -05:00
Kevin Brown
05f5a1b4b5 Merge pull request #3042 from fantasticfears/patch-1
Create zh-CN.js
2015-02-13 09:18:23 -05:00
Erick Guan
c3c5f360fc Create zh-CN.js 2015-02-13 19:56:40 +08:00
Stephan Groß
a5532ee8a8 Fix typos 2015-02-13 11:36:21 +01:00
Kevin Brown
c2326209c2 Copy option title to results and selection
This copies the `title` attribute of `<option>` and `<optgroup>`
tags to the `title` attribute of the options within the results
list and the selection when it is rendered.

For single selections, the `text` property on the data objects will
be used if the `title` attribute is not present, which will allow
for long names to still be viewable if they overflow the selection
container.

This also fixes a potential issue in browsers that did not support
the non-standard `innerText` property on DOM nodes.  As the
`textContent` property is the standard, and it is supported on
IE 9+, we try to set that before falling back to `innerText`.

This closes https://github.com/select2/select2/issues/2530.
This closes https://github.com/select2/select2/pull/2889.
2015-02-09 20:55:35 -05:00
Kevin Brown
61a231d868 Added back select2("data")
In the past, `select2("data")` allowed you to retrieve the currently
selected data objects.  Read-only support has been added back for
this, which maps to the `current` method of the data adapter.  This
will only work for data adapters which allow for the synchronous
retrieval of the current data, which is the case for all of the
default data adapters.

You could also previously overwrite the currently selected data
objects by passing in an argument to `select2("data")`.  As this
dealt directly with the internals, and required a considerable
amount of work to synchronize it, it has been removed.  A warning
will now be triggered if the method is called with additional
elements, and the `val` method should be used instead.

This closes https://github.com/select2/select2/issues/2938.
2015-02-09 20:27:43 -05:00
Kevin Brown
8f8140e3b0 Added modules for stopping event propagation
This adds `StopPropagation` modules that will stop the propagation
of the most common events from the selection and dropdown containers.
These modules work from a list of 21 common events, most of which
were stopped by default in past versions, and call `stopPropagation`
on them when they are detected at the container level.

These modules are only available in full builds of Select2.

This closes https://github.com/select2/select2/issues/2033.
This closes https://github.com/select2/select2/issues/2974.
2015-02-09 20:04:01 -05:00
Kevin Brown
9d4ec4f85b Add templating documentation
This adds documentation for the `templateResult` and
`templateSelection` options.  The fact that placeholders and
custom messages are templated was noted, although most people
should be using the standard `text` property that they provide
anyway.  This fixes the templating link provided in the release
announcement to link to the correct location in the documentation.

This also adds support for the `templateSelection` function to
return a DocumentFragment or jQuery compatible object to be
passed back and rendered.

This closes https://github.com/select2/select2/issues/3005.
This closes https://github.com/select2/select2/issues/3019.
2015-02-09 19:27:10 -05:00
Kevin Brown
c9a8508a39 Add back closeOnSelect option
The `closeOnSelect` option was previously used to control whether
or not the dropdown was closed when an option was selected.  This
could be simulated by triggering the `open` event after the `close`
event was received, but it makes sense to abstract it out into a
decorator.

This also adds support for not closing the dropdown when the control
key is being held.  This is useful when multiple options need to be
selected in quick succession, so the dropdown does not have to be
reopened.

This also adds documentation that covers both changes.

This closes https://github.com/select2/select2/pull/2735.
This closes https://github.com/select2/select2/issues/3017.
2015-02-09 18:54:19 -05:00
Kevin Brown
caeb0ec9b7 Add jQuery 1.x data attribute note
This adds a note about how nested data attributes do not work in
jQuery 1.x due to a bug with the `$.fn.data` method.

This is for https://github.com/select2/select2/issues/2969.
2015-02-09 17:43:16 -05:00
Kevin Brown
8aca7a4085 Added templating example
This also fixes the case where `templateResult` does not return a
string, where it will fall back to jQuery to set the value of the
option.  This allows for the `templateResult` function to return a
jQuery or DOM element that contains the templated data.

Just like with the translation methods, only strings returned from
`templateResult` will be escaped.

The old flag icons have been transferred from the old repository to
the documentation, for use in the templates.  Unfortunately I cannot
find a license for them, but I suspect a license isn't actually
needed considering the state flags are public.

This closes https://github.com/select2/select2/issues/3005.
This closes https://github.com/select2/select2/issues/818.
2015-02-09 17:35:40 -05:00
Kevin Brown
473267404a Fix CSS text wrapping for single selects
Select2 previously had an issue displaying the text of long values
as it was not correctly wrapping the text.  This was because the
browser did not know that it couldn't wrap at whitespace, which
has been fixed.

Now Select2 should properly display an ellipsis for large text
values instead of overflowing.

This closes https://github.com/select2/select2/issues/2984.
2015-02-09 15:58:16 -05:00
Kevin Brown
0c0e2527fa Autofocus search field in multiple select
In a single select, the search field is automatically focused when
the select is opened. This also applied to multiple selects, but
this was causing issues because the container was automatically
focused when the dropdown was closed.

This makes a change such that the search field is automatically
focused when the dropdown is closed.

This closes https://github.com/select2/select2/issues/2995.
2015-02-09 15:43:46 -05:00
Kevin Brown
4dda5e7a74 Hide the search clear icon in webkit
The search box previously displayed a clear icon on the far right
side in webkit-based browsers, specifically Chrome and Safari. This
hides the clear icon in those browsers, and also fixes a slight
sizing issue, so it should no longer be displayed.

This also disables autocorrect, autocompleted, as well as a few
other automatic search corrections on the field, so mobile devices
should have a better experience.

This closes https://github.com/select2/select2/issues/3018.
2015-02-09 15:29:28 -05:00
Kevin Brown
b1c016584b Merge pull request #3024 from th3byrdm4n/select2-ng
IE7/8 Compatability fixes
2015-02-08 13:32:46 -05:00
th3byrdm4n
5a825e0cb3 IE7/8 Compatability fixes
[].indexOf() isn’t supported in old IE. Utilizing jQuery’s $.inArray()
allows for Select2 to work in IE compatibility mode.
2015-02-08 07:29:52 -10:00
Kevin Brown
a08179f481 Merge pull request #3021 from jordigg/select2-ng
Added Catalan language
2015-02-07 13:50:14 -05:00
Jordi Garcia
dfbac71c39 Updated language name on comments 2015-02-07 19:07:21 +01:00
Jordi Garcia
0b9fdded01 Added Catalan language 2015-02-07 18:54:02 +01:00
Kevin Brown
bcc43139fd Merge pull request #3006 from WouterSioen/patch-1
Add rel=stylesheet to the cdn link.

Closes https://github.com/select2/select2/issues/3020.
2015-02-07 12:51:43 -05:00
burnb
e3b5f39695 fix long line for ci check 2015-02-07 19:33:48 +04:00
burnb
557f655c86 remove event listener on destroy 2015-02-07 19:16:34 +04:00
Kevin Brown
7155adc718 Split out formatRepo and formatRepoSelection
This splits out the two templating functions that are referenced in
the documentation. The two functions were previously available in
the source code, but they were not named with the method names that
the documentation referred to.

This closes https://github.com/select2/select2/issues/2993.
2015-02-06 20:08:28 -05:00
Kevin Brown
1349579192 Respect -1 with minimumResultsForSearch
In past versions of Select2, supplying a value less than zero to
`minimumResultsForSearch` acted the same as providing a high value,
such as `Infinity`.  This corrects the regression by mapping anything
less than zero to the value `Infinity`.

This closes https://github.com/select2/select2/issues/2994.
2015-02-06 19:54:36 -05:00
Kevin Brown
0f7a37b2d6 Pass through non-strings in escapeMarkup
It is assumed that DOM elements or related objects will have been
escaped before they are passed back from templating functions. As
strings are typically blinding concatenated, like in our defaults,
it makes sense to escape the markup within them.

This is related to https://github.com/select2/select2/issues/3005.
2015-02-06 19:45:10 -05:00
Kevin Brown
631ae06c8d Fix broken Placeholder.js links
It appears as though GitHub has stopped serving the Placeholder.js
GitHub Pages site.  This broke placeholder support on older versions
of IE in the documentation and broke the link we had to the
polyfill.  Since the repository is still online, and the
documentation should work without an internet connection, the
JavaScript files have been pulled into the documentation folder.
2015-02-06 19:34:48 -05:00
Kevin Brown
1766e31447 Handle translations like template options
Translations will now be passed through `escapeMarkup` and injected
into the results messages as HTML just like the templating options
for the the results and selections.  This fixes the regression from
3.x where the old formatters always supported HTML.

This closes https://github.com/select2/select2/issues/3008.
2015-02-06 19:29:18 -05:00
Kevin Brown
78b6faf13e Check that allowClear is used with placeholder
The `allowClear` option may not work as intended if a placeholder
is not used. This is becaise the placeholder holds the value that
the `<select>` should be reset to when the `x` is hit.

An error is now properly raised in the console when Select2 detects
that the `allowClear` option is used without the `placeholder`
option.

This closes https://github.com/select2/select2/issues/3016.
2015-02-06 19:20:18 -05:00
Kevin Brown
7a8500f198 Merge pull request #3010 from yanickrochon/select2-ng
Fixing errors in FR locale. Added missing pl/pt-BR locales in dist.
2015-02-06 09:44:18 -05:00
Aleksandr Petrov
307ee39bc2 fix - add event listener for opera 12 2015-02-06 16:41:12 +04:00
Yanick Rochon
75aa419d0a Fixing errors in FR locale. Added missing pl/pt-BR locales in dist. 2015-02-06 03:49:06 -05:00
Wouter Sioen
fabbb734e4 Add rel=stylesheet to the cdn link
Without specifying the rel="stylesheet" in your link tag, some browsers don't interpret the file as css.
2015-02-05 17:34:54 +01:00
Kevin Brown
470bc9ff64 Merge pull request #3002 from teohhanhui/patch-1
Fix typo in docs/options.html
2015-02-05 08:05:37 -05:00
Teoh Han Hui
34000de9f8 Fix typo in docs/options.html 2015-02-05 17:50:26 +08:00
Kevin Brown
1a7bb5fb54 Merge pull request #3000 from lenon/fix-maxlength
Fix for MaximumInputLength
2015-02-04 10:04:12 -05:00
Kevin Brown
e93330271d Merge pull request #2999 from lenon/select2-ng
Add Brazilian Portuguese translation.
2015-02-04 10:03:30 -05:00
Lenon Marcel
f157245511 Fix for MaximumInputLength.
I18n translations expect a "maximum" argument for inputTooLong message,
but MaximumInputLength is passing "minimum". This renames "minimum" to
"maximum" to fix this problem.
2015-02-04 06:46:14 -02:00
Lenon Marcel
862f4b5113 Add Brazilian Portuguese translation. 2015-02-04 05:16:42 -02:00
Kevin Brown
4c563a3d06 Add back ajax.transport support
This adds back the `ajax.transport` option, which allows anyone to
use their own AJAX backend. By default, `jQuery.ajax` is used as the
default transport backend.

**Breaking change:** Instead of taking `params` that contains a
`success` and `error` keys for the callback, two new callback
parameters are passed alongside of `params` that should be called
when the request succeeds or fails.

This closes https://github.com/select2/select2/issues/2987.
2015-01-29 09:15:02 -05:00
Kevin Brown
5a0f7f5518 Added back escapeMarkup
This is needed to escape any bad markup that is passed through
user-entered data. Users can prevent their markup from being
escaped by using a no-op `escapeMarkup` function.

This closes https://github.com/select2/select2/issues/2990.
2015-01-29 09:15:02 -05:00
Kevin Brown
01461813d8 Fixed missing jQuery import
Now we are using `jQuery.noConflict()` in tests, so it should be
slightly easier to detect when this happens next time. Tests just
need to be written for the component.

This closes https://github.com/select2/select2/issues/2985.
2015-01-29 09:15:02 -05:00
Kevin Brown
36cfc26cc1 Merge pull request #2982 from adrianpietka/select2-ng
Added polish translation
2015-01-28 12:43:43 -05:00
Adrian Piętka
a6b5c7df49 Break long lines 2015-01-28 11:06:03 +01:00
Adrian Piętka
2f4737cc86 Added polish translation 2015-01-28 10:50:34 +01:00
Kevin Brown
a4448d3d00 Preparing for the 4.0.0-beta.3 release 2015-01-27 20:11:38 -05:00
Kevin Brown
15c827b60f Added documentation for matcher
This adds documentation for the revised `matcher` function, as well
as the compatibility `oldMatcher` function for those who are
upgrading.

This closes https://github.com/select2/select2/issues/2971.
2015-01-27 19:36:54 -05:00
Kevin Brown
695123a1d2 Remove jQuery from the bower and component files
Users are expected to be using jQuery in their web applications
already, it's up to them to determine how it is loaded in.

This closes https://github.com/select2/select2/issues/2941.
2015-01-27 18:31:52 -05:00
Kevin Brown
003d6053a9 Prevent scrolling in scrollable containers
This prevents scrolling within scrollable containers (excluding the
dropdown) when the dropdown is open. This fixes an issue where the
dropdown would go out of sync with the parent container when the
parent container was scrolled.

We did not have this issue in past versions of Select2 because the
mask prevented any scrolling. Now that we have removed the mask, we
have to deal with scrolling from different areas of the page.

We initially tried to hook into the `scroll` events of the parent
containers, but because of a list of issues we decided against it.
If the container scrolled out of view, the dropdown would still be
left open and above everything else, even though the container
wasn't visually connected to it.

The `scroll` event does not bubble, so we need to attach the `scroll`
handler to every parent element that is scrollable. Since it is
surprisingly difficult to determine if an element is scrollable,
we modified some CC-BY-SA code and use that to determine if the
element has a scrollbar. The original `hasScroll` function can be
found at http://codereview.stackexchange.com/q/13338, the same link
left within the code, and was originally designed to be a sizzle
selector. As Select2 does not require a sizzle-compatible version of
jQuery, we converted it into a function that could be used with
`.filter` to filter down the elements.

This closes https://github.com/select2/select2/issues/2975.
2015-01-27 16:06:27 -05:00
Kevin Brown
000653498f Fix z-index for modals
Select2 did not previously have a high enough `z-index` for it to
be displayed over modals. The `z-index` has been raised to 1051,
so now it should appear over the jQuery UI and Bootstrap modals.

This closes https://github.com/select2/select2/issues/2958.
2015-01-27 14:27:18 -05:00
Kevin Brown
65ff76c543 Fix dropdown search sizing
When Select2 is not used with a design that universally sets
`box-sizing: border-box` to elements, the search box previously
would take up more space than expected. This fixed the issue by
adding the `box-sizing` rule to the search box.

This closes https://github.com/select2/select2/issues/2978.
2015-01-27 14:09:52 -05:00
Kevin Brown
9906b2f434 Fixed dropdown for responsive widths
When we re-implemented support for responsive widths, through the
use of percentages, we never moved the support over to the dropdowns.
So the dropdowns generally were not large enough, and when resized
they never re-adjusted, and they didn't fully work as intended.

This fixes the issue by automatically resizing the dropdown whenever
it is repositioned, mainly to handle new scrollbars, which will
ensure that it is always the same width as the container.

This also adds a section to the examples for responsive design,
just like in the old documentation.

This closes https://github.com/select2/select2/issues/2949.
2015-01-27 14:07:44 -05:00
Kevin Brown
52513f3290 Merge pull request #2968 from loic/typo
Fixed typo in error message.
2015-01-26 08:51:38 -05:00
Loic Bistuer
285d173536 Fixed typo in error message. 2015-01-26 17:18:06 +07:00
Kevin Brown
6488551374 Reverted changes to the scroll detection
This reverts the changes (from 3.5.x) to the scroll detection, so
Select2 will still reposition itself every time the window is
scrolled or resized. This has the benefit of fixing the issue when
the screen jumps if the dropdown is too high, which would previously
close the dropdown.

Select2 will also correctly set the positioning if it is pushed out
of the top of the viewport. Due to an unexpected bug, Select2 would
previously still display above the container, but would be styled
as if it were below it.

This closes https://github.com/select2/select2/issues/2961.
This closes https://github.com/select2/select2/issues/2956.
2015-01-22 17:35:08 -05:00
Kevin Brown
981c4065af Only trigger unselect for multiple
This fixes an issue where an `unselect` event would be incorrectly
triggered when the selected option was selected again in a single
select. This has been fixed now, so the even will only be triggered
for multiple selects. The `close` event will still be triggered
though, so the functionality will still remain the same to the user.

This closes https://github.com/select2/select2/issues/2959.
2015-01-22 17:16:12 -05:00
Kevin Brown
bca4e1f6d8 Add information about build types 2015-01-22 17:01:50 -05:00
Kevin Brown
80bda0ad55 Fixed the selectOnClose option
The `selectOnClose` option did not work in production because we
were decorating the `dropdownAdapter` instead of the `resultsAdpater`
when automatically generating the adapters. This has now been fixed,
and the option should work without errors in production.

This also adds documentation for the `selectOnClose` option.

This closes https://github.com/select2/select2/issues/2953.
2015-01-22 15:19:45 -05:00
Kevin Brown
686f846fa5 Changed how the builds are done
This adds a check that triggers an error if Select2 was not able
to detect a copy of jQuery on the page. This should help users when
they are setting up Select2.

**Breaking change:** The full build no longer includes jQuery.
Previously, the full build included all requirements for Select2,
including jQuery, which meant that anyone looking for the optional
requirements had to possibly include multiple versions of jQuery
on their page. This means that anyone requiring Select2 to also
bundle jQuery will now need to include jQuery on their pages
alongside Select2. A copy of jQuery is included in the repository.

**Breaking change:** The AMD build of Select2 will now correctly
wrap the code in a `define` block. It will still create the named
blocks inside of the code, which should be valid in most AMD build
systems, so now Select2 is compatible with cases where the file
does not have the same name as the Select2 module name.

**Breaking change:** Select2 will re-use the AMD methods if they
are available on the page, but it will not longer leak the included
AMD loader to the global scope. The AMD methods will still be
available on the `jQuery.fn.select2.amd` namespace.

The `mock.js` test file has been renamed to `helpers.js` and will
handle the escalation of the `require` and `define` variables to
the global scope. It should be included in all test files, or the
tests will fail.

This closes https://github.com/select2/select2/issues/2946.
2015-01-22 14:49:39 -05:00
Kevin Brown
53c9d53166 Fix jQuery.noConflict compatibility
When `jQuery.noConflict` is called, the global `$` variable is not
defined. We cannot assume in the code that the variable is defined,
and instead should always make sure to import the `jquery` module
when we need jQuery.

This fixes all of the issues where we are assuming that `$` is
defined globally when we are not importing the module. This also
fixes the issues when defining the `jQuery.fn.select2.amd` modules
where we were always attaching to the `$` object instead of the
`jQuery` object.

This closes https://github.com/select2/select2/issues/2947.
2015-01-21 19:56:06 -05:00
Kevin Brown
d81886e5de Trigger the unselect event when clearing placeholder
In the past, Select2 triggered the `select2-clearing` event when
clearing the placeholder. This has been switched to the `unselect`
event which is now triggered whenever the placeholder is cleared.
The placeholder can also be prevented if the `unselecting` event
is prevented.

This will also trigger the event when deleting every option from
the multiple select, so it is possible for the `unselecting` event
to be triggered multiple times when clearing a multiple select.

This adds tests to ensure that the `allowClear` option always works.

This closes https://github.com/select2/select2/issues/2954.
2015-01-21 19:11:07 -05:00
Kevin Brown
5b4e1eab42 Added a check for the results key in AJAX responses
This should prevent users from running into unexpected errors when
they do not return an object with the `results` key containing an
array.

This closes https://github.com/select2/select2/issues/2950.
2015-01-21 16:36:23 -05:00
Kevin Brown
850816ee77 Update docs links for the CDN
Now that cdnjs is mirroring the beta files, we know what the final
locations are going to be. These identifiers will need to be updated
during the release process, just like all of the others.

This closes https://github.com/select2/select2/issues/2955.
2015-01-21 16:20:15 -05:00
fallenby
0fe54b6d3b Hide element if template returns a false-like value
This allows you to hide elements when using the template% formatting functions.

Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2015-01-17 22:14:12 -05:00
Tim
c318cde916 Added dutch translations
nl.js

Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2015-01-17 22:11:17 -05:00
Kevin Brown
ffb58a1be8 Fixed Russian translation
This fixes a mistake made when migrating the translation.
This closes https://github.com/select2/select2/issues/2933.
2015-01-17 22:05:48 -05:00
Kevin Brown
1b46e8ab3e Improve the default language chain
If the language that is passed in through the options is just a
string, like "en-US" or "pt-BR", Select2 will now try to load the
base language along with the requested language and "en". So
requesting "pt-BR" will try to load "pt-BR", "pt", and "en".

This also catches errors and triggers a warning about not being
able to load the file. This should be a more user friendly error,
and it fixes the problem where Select2 would completely fail to
initialize if a language could not be found.

This closes https://github.com/select2/select2/issues/2934.
2015-01-17 21:56:58 -05:00
Kevin Brown
2f4cc19cd9 If a named style can't be determined, return null
Previously this would return `style` if it couldn't be resolved and
the `style` attribute on the element is set for some reason. Now it
will return `null`, because it tried to resolve the width but was
not able to. This will allow it to fall back to `element` by default,
or not set the width at all.

This closes https://github.com/select2/select2/issues/2935.
2015-01-17 21:43:38 -05:00
Kevin Brown
f427451853 Expose the defaults
This exposes the default options for Select2 as
`$.fn.select2.defaults`. A default option can be set using the
`set(key, val)` option which is available. The key should use the
same formatting as the HTML data attributes.

This also adds some documentation about it.
2015-01-17 21:27:53 -05:00
Kevin Brown
c5a3f34012 Added notes on the AMD-specific options 2015-01-17 20:59:05 -05:00
Kevin Brown
d6a83ea026 Pull query and initSelection out to compat modules
This also adds more documentation and corrects the release notes
for these breaking changes. These modules will now only be included
in the full builds of Select2, which has been noted in a few places.
2015-01-17 20:47:52 -05:00
Kevin Brown
061b432485 Merge pull request #2931 from dlion/ItalianTranslation
Added italian translation
2015-01-16 08:05:30 -05:00
Domenico Leone Luciani
ae564f6219 added italian translation 2015-01-16 11:03:57 +01:00
Kevin Brown
b43656c13c Added basic accessibility tests
This adds basic tests to ensure that the selection is accessible by
all users. This checks for common attributes, ensuring that the
container is always keyboard accessible and follows ARIA guidelines.

This also changes the base selection to create a common element so
we don't need to repeat attributes and such across multiple selection
containers.
2015-01-14 22:54:19 -05:00
Kevin Brown
2a7ae0ea9c Add backwards compatibility with query option
This adds backwards compatibility with the `query` option so it
automatically patches the `DataAdapter.query` function. The only
major difference between the methods is the call signature, which
has now moved the callback out of the parameters and into the second
argument.

This also adds tests that verify that the old query functions should
work as expected.
2015-01-14 21:24:09 -05:00
Kevin Brown
e04188c85a Added backwards compatibility for initSelection
Now if the old `initSelection` method is used, a warning will be
triggered in the console informing the user that it has now been
changed to `DataAdapter.current`, and they should create a custom
data adapter instead. We will still only call `initSelection` once,
and then default back to the old data adapter for calls after that.
This allows for mostly transparent support between versions.

This adds tests to ensure that `initSelection` operates the same as
it previously did, but now patches the `current` method of the
default data adapter.
2015-01-14 21:24:08 -05:00
Kevin Brown
286b83898f Documented the removal of initSelection and query
This adds detailed docs explaining how you can convert the old
implementations of `query` and `initSelection` into a custom data
adapter using the `current` and `query` methods provided there.
Examples are included that should make it considerably easier to
handle.
2015-01-14 21:24:08 -05:00
Kevin Brown
7f2cb23e78 Merge pull request #2917 from solcik/cs-trans
Added czech translations
2015-01-14 19:41:32 -05:00
Kevin Brown
911966be78 Update version identifiers for 4.0.0-beta.2 2015-01-13 19:18:33 -05:00
Kevin Brown
8d35d5e416 Fixed opening issue
This fixes an issue where the data set would not be queried when
the dropdown was opened.
2015-01-13 19:09:04 -05:00
Kevin Brown
28f9cae5d7 Added some more jQuery events
This adds the `select` and `unselect` events so users can still
hook into them from their jQuery plugins.

This also modifies the core `trigger` to fire pre-events that can
be canceled for the `open`, `close`, `select`, and `unselect`
events. Users implementing these events who need to handle cases
where the event has been prevented should check `args.prevented`,
where `args` is the object that was included for arguments when
triggering the internal event.
2015-01-13 18:28:21 -05:00
Kevin Brown
dc0ebd35d5 Merge pull request #2914 from smzchaudary/select2-ng
add maximum selection length option
2015-01-13 14:01:00 -05:00
Zubair
bc71ad4880 fix spacing of examples. 2015-01-13 13:49:27 -05:00
Zubair
160abdc54e cleanup example and move examle based on PR comments. 2015-01-13 13:00:17 -05:00
Zubair
7515fa7f46 only verify when maximumSelectionCount is greater than 0 and add tests 2015-01-13 13:00:16 -05:00
Zubair
25dade52e5 rebuild dist. Fixed space 2015-01-13 13:00:16 -05:00
Zubair
e18fa1b5b8 fix callback using this.current.
add example.
2015-01-13 13:00:16 -05:00
Zubair
1c8846079b replace this.$element.val() with this.current() 2015-01-13 13:00:16 -05:00
Zubair
2bdb5dbdae add maximum selection length option 2015-01-13 13:00:16 -05:00
Kevin Brown
5dad831f7f Merge pull request #2919 from apfelbox/patch-1
Small bugfix in german translation
2015-01-13 12:46:41 -05:00
Jannik Zschiesche
8ec202963a Small bugfix in german translation
Just added a missing parameter in the function definition.
2015-01-13 18:42:50 +01:00
David Šolc
95a586539d Added czech translations - fix 2015-01-13 16:00:47 +01:00
David Šolc
0e9cfaa893 Added czech translations 2015-01-13 15:52:22 +01:00
Kevin Brown
766d9f05e0 Automatically set up docs symlink
This also adds some docs about building the documentation.
[ci skip]
2015-01-12 19:56:25 -05:00
Kevin Brown
86b4a5d8e2 Added amdBase and amdLanguageBase options
This should allow those using their own build systems to
automatically load in translations. In the future, the `amdBase`
option may be used to optionally load some components of Select2.

As Select2 cannot know what the base directory is, it currently
has to load in all of the optional components in the default build.
By allowing users to set their own base, it will allow us to know
the base to load files from, which makes it easier to use the
`require` function to optionally load them.

This fixes https://github.com/select2/select2/issues/2899.
2015-01-11 21:59:27 -05:00
Kevin Brown
584d3b48a2 Added selectOnClose
`selectOnClose` is a new option which works very much like the old
`selectOnBlur` option. When the `close` event is triggered, the
highlighted result is automatically selected. This is useful for
single selects, which is where it is designed to be used, but it
can also be used on multiple selects.

This also adds tests to verify that this works in the future.

During the creation of the test, we noticed that we were missing a
mock container that could be used for triggering events. One was
created and a general mock JS file was created to hold any future
mocks for tests.
2015-01-11 21:47:17 -05:00
Kevin Brown
af1f35176b Added back the width option
In past versions of Select2, the `width` option could be used to
tell Select2 how to determine the width of the container generated
by Select2.

**Breaking change:** The default value for the `width` option has
been changed from `copy` to `resolve.`

**Breaking change:** The old option called `copy` has been renamed
to `style` to better reflect what the width is generated from.

This fixes https://github.com/select2/select2/pull/2090.
This fixes https://github.com/select2/select2/issues/2911.
2015-01-11 18:00:48 -05:00
Kevin Brown
ff596e692e Added a few more tests
This adds a test that makes sure that the inline data attribute
overrides the options that are passed in during initialization.

This also adds a test for the `createTag` option, which is used
when tagging.
2015-01-11 16:30:16 -05:00
Kevin Brown
6a5127ac0f Merge pull request #2912 from summeragain/scroll-fix
Fixes #2908: Dropdown cause scrollbar
2015-01-11 15:41:13 -05:00
Kevin Brown
0424d97396 Merge pull request #2909 from ericdahl/docs-brackets
Docs: typo cleanup
2015-01-10 15:44:32 -05:00
Eric Dahl
e9455e1a84 Docs: typos 2015-01-10 12:39:53 -08:00
lazything
a4d45d4f17 Update dist 2015-01-10 16:27:22 +02:00
lazything
b7f4731051 Fix scroll caused by dropdown 2015-01-10 16:24:32 +02:00
Kevin Brown
a6b11ab48b Add IRC notifications for build failures/changes 2015-01-09 20:56:06 -05:00
Kevin Brown
7f17291932 Fix support for deep nesting
While deep nesting will not work on a standard `<select>`, we can
emulate it through data objects still, and just handle the display
of the data in the results.

This also means that the horrific deep-nested CSS is back to handle
the padding. I hope that will get fixed over time.

This also fixes one of the performance issues with adding array
data, as options are added at the very end instead of one by one.
2015-01-09 20:50:06 -05:00
Kevin Brown
5c71e2da50 Updated README and CONTRIBUTING
This also updates the LICENSE year. [ci skip]
2015-01-09 19:26:59 -05:00
Kevin Brown
05d8407b05 Added Travis CI badge and fixed package.json 2015-01-09 16:09:30 -05:00
Kevin Brown
a6c4215976 Fixed multiple selection placeholders
Due to a change in 7edf0e3ebe that
made the rendered selection take up the full width of the selection
container, the placeholder was not being automatically displayed.
The calculations were always turning out negative, which has been
fixed by not trying to automatically calculate the best possible
width.
2015-01-09 14:08:31 -05:00
Kevin Brown
1191d4a3bb Fixed overflow when triggering results messages
Because of the change made previously to make events global, any
time a result message was triggered there would be a stack overflow.
This was because we were re-triggering the event locally if it
happened on a global level, which would start the loop.

This has been fixed so the event is never caught locally, but
instead uses the global handler.
2015-01-09 12:46:21 -05:00
Kevin Brown
e63c0ce6a0 Update contributing guide and README for 4.0 2015-01-09 11:10:53 -05:00
Kevin Brown
7edf0e3ebe Style clear icon in multiple selects
The `AllowClear` decorator appears to work fine with multiple
selects, so we've chosen to remove remove it. This adds some
styling and fixes the check so it all works as expected.

This closes https://github.com/select2/select2/issues/2903.
2015-01-09 11:03:31 -05:00
Kevin Brown
fe1374fd11 Hide the x when the container is disabled
This fixes an issue where the `x` in multiple selects (visible next
to the option) would be visible even if the container was disabled.
Because it was still accepting events as well, this would cause the
underlying data to be changed, even though it was disabled. We now
hide the icon using CSS so this issue doesn't occur.

The same applies to the `x` for clearing a placeholder.

https://github.com/select2/select2/issues/2903
2015-01-09 10:47:56 -05:00
Kevin Brown
751fc63169 Expose createTag as an option
This is a replacement for the old `createSearchChoice` method which
allowed tags to be dynamically created with a custom data object.
2015-01-09 10:30:56 -05:00
Kevin Brown
024d41b412 Normalize internal select/unselect events
Also pull the logic for automatically closing the dropdown into the
dropdown adapter, taking it out of the core.

The `selected` and `unselected` events are now `select` and
`unselect`, which is what many of the other adapters were expecting
them to be.

Some tests for placeholders have been added.
2015-01-09 10:05:44 -05:00
Kevin Brown
27c5eebcf9 Hide the event demo 2015-01-08 11:57:56 -05:00
Kevin Brown
1fe8de3ad5 Fix tagging example
Tagging should be demonstrated using the multiple select, as that
is where it really shines. It's also how we used to demonstrate it.

This closes https://github.com/select2/select2/issues/2901.
2015-01-08 11:53:31 -05:00
Kevin Brown
64cb528f62 Set up a public event relay
Now Select2 can fire jQuery events that will match the corresponding
internal events. The `open` and `close` events are now publicly
accessible.

The selection adapter was chosen because it is the least likely to
be moved, but handles the most common events. This `EventRelay`
decorator should theoretically be able to decorate any of the
adapters, as they all have the `bind` method that it needs.
2015-01-08 11:44:09 -05:00
Kevin Brown
bba967ba21 Use the star event for internal binding
The star event will allow us to relay any custom events as well as
the ones used internally by Select2. This also makes it much
easier to start triggering events in general, as we don't need to
relay it in the core anymore.

A module has been created for the jQuery-facing events, and the
release announcement has been updated to mention the event name
changes.

This also adds some documentation about the public events.
2015-01-08 10:40:13 -05:00
Kevin Brown
68286e3cff Search focus should also happen in a timeout
For the dropdown search on single select instances, the search
focus should happen in a `setTimeout` call. This is because many
browsers trigger the element focus on `click`, so our original call
to `$search.focus` will essentially be ignored. By also focusing
it in a timeout, this will delay the call to `focus` so the browser
will no longer take it back.

We do not have this issue for multiple select instances, as they
trigger the `open` event on `click`, instead of using `mousedown`.

This fixes https://github.com/select2/select2/issues/2900.
2015-01-08 10:10:23 -05:00
Kevin Brown
e76460a392 Updated package files
The package files (bower, npm, etc.) now point to the new
distribution locations, and have the beta version numbers in place.
The version number has been removed from the `bower.json` and
`composer.json` files as they will retrieve the version numbers
from Git.
2015-01-07 23:30:05 -05:00
Kevin Brown
df40e22586 Finish off the initial release notes and prepare for beta 2015-01-07 23:03:30 -05:00
Kevin Brown
05cbaf7bf7 Universally use the object query return
There was a plan to universally use an array as the return from
query methods, but now that we've realized pagination and extra
things are impossible without it, we're going back to the return
object. Anyone looking to migrate their data should be returning
an object with the key `results` containing what they previously
returned.

This should fix https://github.com/select2/select2/issues/2898
2015-01-07 21:11:32 -05:00
Kevin Brown
063859160d Add a few translations, label the others 2015-01-07 20:39:29 -05:00
Kevin Brown
e111ea0420 Added a few new translations
Also fixed the JSHint issues in the new Ukranian translation.
2015-01-07 20:11:58 -05:00
Kevin Brown
970e98c573 Merge pull request #2897 from ktaras/feature/adding-ukrainian-localization
Adds Ukrainian localization
2015-01-07 17:41:10 -05:00
ktaras
8a2cdac8ce Adds Ukrainian localization 2015-01-08 00:34:54 +02:00
Kevin Brown
f8fdcb6fa5 Added support for tokenization
This brings up both the `tokenizer` and `tokenSeparators` options.
2015-01-06 20:03:12 -05:00
Kevin Brown
938993302f Fixed SASS error
This fixes the SASS error caused by the `&[dir="rtl"]` selector in
the `_single.scss` and `_multiple.scss` files. We were expecting
these files to be nested within the `.select-container` class, which
would have made this a non-error as the `&` would refer to the
`.select2-container` class that was wrapping the `@import`.

This moves the `@import` statements into the `.select2-container`
class, so this no longer triggers an error in the Ruby version of
SASS.

This closes https://github.com/select2/select2/issues/2896
2015-01-06 17:54:33 -05:00
Kevin Brown
dcfaa5f628 Added Google Analytics 2015-01-05 19:30:15 -05:00
Kevin Brown
562669064b Called out 3.5.2 dodcs
Also migrated all of the links to the new location in the GitHub
organization.
2015-01-05 18:22:27 -05:00
Kevin Brown
ed24a51ea3 Updated docs to use the Select2 GitHub organization
Documentation will now be at https://select2.github.io
2015-01-02 21:12:41 -05:00
Kevin Brown
ad94b6faba Added jQuery.mousewheel support
jQuery.mousewheel will allow us to prevent the dropdown from
automatically closing when the user scrolls to the end of the list.
It is automatically bundled in the full versions of Select2 and
we don't require that it is included in order for Select2 to work.

jQuery.mousewheel was taken directly from the source repository
using the commit at

cc2c5d73ae
2015-01-02 20:32:14 -05:00
Kevin Brown
09e3a76bf9 Added pagination support for AJAX results
I'm still not quite sure how this should be handled for the general
case, but for the special case we have this for infinite scrolling,
only on AJAX data.
2015-01-02 19:58:09 -05:00
Kevin Brown
f1e86470ca Clone the options for group elements
This will always clone the options that are passed in when
initializing Select2 on multiple objects (like `$("select")`) so
it doesn't always assume that the configuration is the exact same.
This prevents any reference-based tricks for modifying the data
within Select2, but some would look at that as an upside.
2015-01-02 18:15:59 -05:00
Kevin Brown
12f7ed93f8 Added more migration information
The documentation for templates still needs to be created.

A warning is now generated in the console for applications using
the previous data attributes that have been migrated.
2014-12-27 21:47:18 -05:00
Kevin Brown
e7c2c70d1a Added RTL support to Select2
This works in the same way as the `lang` option, which pulls
directly from the `dir` property on DOM nodes.
2014-12-17 22:08:58 -05:00
Kevin Brown
0bc73941fe Support duplicate options
Now that the data objects have the `element` property, we can test
to make sure it's a DOM element and then use it for selecting the
option. This allows us to select multiple options with the same id,
as well as handle cases where that is already happening.

You cannot use `$e.val()` to select two options with the same id,
as jQuery will reject it, but you can set the second option to
`.selected = true`, which is supported.
2014-12-17 20:36:06 -05:00
Kevin Brown
fe136088f6 Fixed string to object conversion 2014-12-17 19:39:12 -05:00
Kevin Brown
ea41b627dc IE fixes and alt-arrow support
alt-down/up is the standard way of opening a select when using a
screen reader. This also fixes the gradient in IE, so now it
displays the right colors. Also added a note about Placeholders.js,
so the placeholders on multi-select boxes will work in IE 9 and
below.
2014-12-17 19:06:13 -05:00
Kevin Brown
358306ac8c Respect the disabled attribute
Added a disabled state for Select2. This will correctly listen to
property changes (so when the disabled property is changed) and
update the state of Select2 to reflect it.

Added a utility function to find a method to a different context.
2014-12-16 22:44:11 -05:00
Kevin Brown
1e44ab7ee1 Added the element reference in the data
This also fixes `_normalizeItem` for cases where `text` doesn't
exist, so it doesn't clobber the item.
2014-12-16 20:51:35 -05:00
Kevin Brown
33809f1fef Added some translations 2014-12-16 20:45:44 -05:00
Kevin Brown
8a78ff7415 Added five more translations
This also fixes a spelling error in "loading" in the last nine.
2014-12-15 21:16:37 -05:00
Kevin Brown
a6841618b0 Migrated 9 more translations 2014-12-15 20:27:38 -05:00
Kevin Brown
e23b8b5483 More work on the announcement 2014-12-11 18:11:03 -05:00
Kevin Brown
096d55b64d Fixed backspace on multiple selects 2014-12-11 18:10:46 -05:00
Kevin Brown
3ff78d8145 Added back select2("enable")
This also adds a console warning if the `enable` or `val` method is
called.
2014-12-11 17:42:05 -05:00
Kevin Brown
100015b205 Added back select2('val')
With the recent changes to how Select2 works internally, this really
isn't needed. This has been added to make the migration path
easier, and it just internally calls `val` on the underlying select
element. The only difference is that the `val` function will now
convert any non-string elements to strings.

The second argument (`triggerChange`) has not been migrated, as
Select2 now internally relies on the `change` event.

**Note:** As the old `initSelection` method has not been migrated,
it is not possible to set the `val` on remote data sources where
the value has not previously been selected.
2014-12-11 17:11:38 -05:00
Kevin Brown
4afb80b7ff 4.0 announcement 2014-12-10 22:31:07 -05:00
Kevin Brown
395e06aff5 Backspace unselects item in multiple selects
The backspace key now behaves very similar to how it does in other
multiple select boxes, such as the one that Stack Exchange uses.
When the user presses the backspace key, the last selected option
is unselected and the search box is filled with the text of the
option.
2014-12-10 19:19:48 -05:00
Kevin Brown
0de516f17a Add minimumResultsForSearch 2014-12-10 18:46:05 -05:00
Kevin Brown
caf4ad73d7 Allow for custom sorting functions
This adds the `sorter` function, which works in the same way as the
old `sortResults` function.
2014-12-10 18:22:25 -05:00
Kevin Brown
ec1bd3387b Added lang attribute support
Select2 will now detect the language based on the `lang` attribute
of the `<select>` element or any parent elements.
2014-12-10 18:09:00 -05:00
Kevin Brown
14db3fc801 Support data-* attributes for configuration
The documentation is included, along with a few tests, which
explains the general rules for how it is parsed.
2014-12-10 15:23:39 -05:00
Kevin Brown
f6625d2347 Added dropdownParent
`dropdownParent` controls the location of the dropdown when it is
automatically added to the DOM. By default, this is the body
element but it can be modified based on where the user needs it.
2014-12-09 22:12:07 -05:00
Kevin Brown
f7d75b62fa Added more documentation
This adds documentation for a `dropdownParent` option which has
not yet been created, but will come in the next commit.
2014-12-09 22:02:16 -05:00
Kevin Brown
4cdda7e156 Finish off the incomplete options documentation
The documentation is not completely finished, but now we have no
placeholders waiting to be completed.
2014-12-09 20:30:57 -05:00
Kevin Brown
f0017c024d Added support for a click mask
In past versions of Select2, a mask was used to detect clicks
outside of the dropdown. While this works with high accuracy, and
avoid many of the click issues we had with modals, it is no longer
the default close handler for Select2. It blocks any features on
the container from working without a second click, and introduces
odd edge cases that we cannot easily handle.
2014-12-05 22:44:41 -05:00
Kevin Brown
1ca71578d4 Added documentation footer
The documentation will be licensed under CC BY 3.0, instead of
under the MIT license like the rest of the code.
2014-12-05 21:48:31 -05:00
Kevin Brown
ab763b060d Added getting started guide to the home page 2014-12-05 21:21:40 -05:00
Kevin Brown
ce38cd5b9c Allow the dropdown to point up
Up until now, the container could only have a dropdown that was
displayed below the container. While this worked well, there are
some cases where the dropdown should be displayed above the
container. Most notably, this is when the conatainer is displayed
towards the bottom of the page, and displaying the dropdown would
cause the page to be extended. Because we close the dropdown
when the page is scrolled, the user would not be able to access any
options that were displayed outside of the viewpoint.

Because of the order that events are fired, we attach the handlers
for repositioning the dropdown after results are displayed when the
container is opened for the first time.  This allows it to be
registered after the results container registers their events, so
the dropdown is repositioned after the results have been displayed.

The logic for determining the direction that the dropdown will be
shown in is very similar to the positioning code used in
Select2 3.x. Unlike previous versions of Select2, a class is used
to indicate the direction of the dropdown, even if it is displaying
below the container.

The themes provided with Select2 have been updated to correctly
render the dropdown in both directions.
2014-12-05 20:09:42 -05:00
Kevin Brown
fda973c34f Started adding more translations 2014-11-26 23:19:04 -05:00
Kevin Brown
07575f051c Automatically close on scroll
This now matches how the browser works, where the dropdown is
closed when the window scrolls.

The arrow was also covering the clear placeholder icon, this has
now been fixed and the clear icon is now placed correctly.
2014-11-26 22:30:31 -05:00
Kevin Brown
e3647051de Added maximumInputLength support 2014-11-26 21:52:49 -05:00
Kevin Brown
43efd43d57 Add tests for the multiple selection container 2014-11-26 20:50:39 -05:00
Kevin Brown
7fc195f70d Fix hiding search
When the dropdown is in the dropdown that is attached to the body,
the call to `show` causes `display: inline` to be set directly on
the search container. This causes rendering issues, so this change
uses a class instead of calling `show` and `hide` directly.

This is most likely a jQuery bug of some form, as it only happens
when using the dropdown that is attached to the body.
2014-11-26 20:39:52 -05:00
Kevin Brown
4cab421966 Added tests for the single selection container 2014-11-26 20:25:56 -05:00
Kevin Brown
56d5778590 Finished off tests for tags
This also adds back the ability for tags to return `null` in order
for no tag to be added to the results.
2014-11-26 19:53:15 -05:00
Kevin Brown
76e4ea8340 Added tests for tags 2014-11-25 21:28:16 -05:00
Kevin Brown
16e565e28e Added tests for minimumInputLength 2014-11-25 20:12:17 -05:00
Kevin Brown
389c3ed866 More work on the release announcement 2014-11-25 19:42:53 -05:00
Kevin Brown
593a357886 Automatically push docs updates 2014-11-25 16:23:53 -05:00
Kevin Brown
a4af105a6e Fixed the default translations
Previously the default translations would break for custom AMD
builds. This fixes it so it does not rely on a hard-coded import
path.
2014-11-25 16:09:52 -05:00
Kevin Brown
81db43fa99 Extracted the original positioning out
With this change, any instances overriding the dropdown is
required to decorate it with the positioning module.
2014-11-25 15:59:35 -05:00
Kevin Brown
6a0c002f94 Add a module for attaching the dropdown to the body
In Select2 3.x, the dropdown is attached to the body element and
it is floated above all other elements.

In Select2 4.x, the dropdown is attached directly to the Select2
container, which allows us to skip any special placing logic. This
happens to be how Chosen currently does it, and it prevents us
from having the dropdown display up, as well as a few other strange
issues that can't be prevented.

This new module will most likely become the default, as it matches
the functionality of Select2 3.x and has quite a few advantages.
The other positioning code will need to be broken out into a
separate module in the future.
2014-11-25 15:39:42 -05:00
Kevin Brown
31c09315c8 Move positioning into the components
The main container should not need to position the individual
components. This makes it easier for components to override where
they should be placed, such as adding the dropdown outside of the
container.
2014-11-25 14:19:07 -05:00
Kevin Brown
be3414f6fe Moved the body click handlers out
This should allow us to start working on the body mask handler,
and make future implementations easier to work with.
2014-11-25 14:03:21 -05:00
Kevin Brown
85593de1fa Fixed bug when destroying Select2
When destroying Select2, an error could be raised while destroying
the selection container. This was because the destroy handler was
relying on the container id being present.

The old functionality has been restored where Select2 will destroy
itself when it is initialized again.
2014-11-25 13:39:46 -05:00
Kevin Brown
ade7180d70 Updated with master 2014-11-25 08:56:36 -05:00
Kevin Brown
12de3c2b5e Set up the GitHub Pages command
Now we can synchronize GitHub Pages with the docs in the master
branch quickly and easily.
2014-11-25 08:36:01 -05:00
Kevin Brown
d9e254ed27 Fixed the theme example 2014-11-24 21:37:29 -05:00
Kevin Brown
ac5d584f3d Added the arrow for the dropdown 2014-11-24 21:33:22 -05:00
Kevin Brown
ffed37013d Added back the allowClear option 2014-11-24 20:43:15 -05:00
Kevin Brown
dafa99bf40 Working on the classic theme 2014-11-24 20:08:24 -05:00
Kevin Brown
e686bce9d0 Converted classic theme to BEM
This should be the last of the changes.
2014-11-24 19:11:02 -05:00
Kevin Brown
3e54fc97e5 Finish the core switch to BEM
This switches all of the dropdown components to use BEM.
2014-11-24 18:59:19 -05:00
Kevin Brown
8cb074ccef Finished switching main container to BEM 2014-11-24 18:38:58 -05:00
Kevin Brown
7933eb77c1 Switch the multiple selection container
This switches the container to use BEM for the class naming.
2014-11-24 18:30:58 -05:00
Kevin Brown
971422f92e Start the switch to BEM
This is inspired by https://github.com/ivaynberg/select2/issues/2826
and starts the general transition to using selectors with a lower
specificity. This should make it considerably easier to override
the styles in the long run.

Unfortunately libsass does not support the SASS 3.3 style for BEM
where we can just use `&__m` for defining sub-modules. For now we
are still using a limited amount of nesting, but nowhere near as
much as we did in the past.
2014-11-24 18:11:03 -05:00
Kevin Brown
f1c02db189 Automatically resize the search box
Now the search box is automatically resized for placeholders to
fit the available space, so we don't need to worry about the
placeholder not being visible. When the placeholder doesn't need
to be visible, the size of the search box is determined based on
the length of the current search term.
2014-11-22 20:32:25 -05:00
Kevin Brown
217cd4cfd0 Added inline searching for multiple selects
This adds a search box to the main container for multiple select
boxes, similar to the what the old version had. This can still be
swapped out such that the search box displays above the results
like it previously did.

The placeholder for multiple selects will also now use the input
attribute of the search box instead of generating a custom element.

This also changes the selector for the search container to
`.select2-search`, which is consistent with the old class and
reduces the complexity of the selectors.

This fixes an issue with how decorators worked, where the constructor
from the parent class would clobber the custom constructor that is
generated for the new decorated class. This has been fixed by
excluding the constructor from the list of fields which are
transferred when decorating classes.
2014-11-22 19:21:46 -05:00
Kevin Brown
f382f3d02d Merge pull request #2755 from kupishkis/2753
After clearSearch nextSearchTerm is not cleared
2014-11-21 08:47:35 -05:00
Kevin Brown
9913cb7c25 Merge pull request #2730 from od3n/master
updated Malay & Indonesian translations
2014-11-20 21:46:38 -05:00
Kevin Brown
2bec6e2579 Automatically strip diacritics
This adds a dictionary for converting diacritics to a normalized
representation. This dictionary is used in the default matcher.

The code for stripping the diacritics was pulled from the current
implementation in Select2 3.x.
2014-11-19 18:12:59 -05:00
Kevin Brown
5ec201ca30 Built out the translations
This migrates over the required English translations under their
new names.

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

This also changes the AJAX handler to call `abort` when needed.
2014-11-19 17:48:46 -05:00
Kevin Brown
7e6782d580 Display a loading message when searching
Now when searching, a loading message is prepended to the top of
the results. This replaces the old spinner image and allows for it
to be translated across different languages.

The loading message can be styled differently and is passed
through the results formatters.
2014-11-19 17:22:37 -05:00
Kevin Brown
28c56e7885 Better accessibility for multiple select boxes 2014-11-19 15:50:53 -05:00
Kevin Brown
cee8c18c23 Change how the results are highlighted
Previously, a result was no longer highlighted when the mouse was
no longer over it. While this was useful for resetting the
highlight automatically, we started doing this when a new result
was highlighted to make sure that we never had multiple options
highlighted.

Now, a result will always be highlighted until the highlight is
removed when the next result is highlighted. While this shouldn't
affect many users, it is closer to how native select boxes work.
This also allows users using keyboard navigation to jump between
mouse and keyboard navigation without the highlight reseting to
the top of the results.
2014-11-19 14:29:28 -05:00
Kevin Brown
849a9c7a32 Started work on the classic theme
Some people like the old theme, so we're going to also include that
one as well as the easier-to-extend flat theme.
2014-11-19 14:26:52 -05:00
Kevin Brown
69e8e6e355 Merge pull request #2808 from yuks/patch-1
formatMatches translation added
2014-11-14 17:38:28 -05:00
Yuksel
ced4bf692c formatMatches translation added 2014-11-14 22:17:49 +01:00
Kevin Brown
a2766b7ed6 Added destroy method
Now Select2 supports destroying itself, and all elements that it
creates.
2014-11-13 18:36:40 -05:00
Kevin Brown
a8377e3681 Merge pull request #2789 from RustyToms/drop_above_dropHeight_fix
recalculate $dropdown height after drop-above class added
2014-11-13 17:56:14 -05:00
Kevin Brown
78ee1bc01e Continued work on the documentation 2014-11-08 16:48:57 -05:00
Kevin Brown
10536370de Add support for initializing tags
This adds backwards compatibility for the old tags.
2014-11-07 20:31:27 -05:00
Kevin Brown
d306fcf82c Added default selection for AJAX 2014-11-07 20:20:37 -05:00
Kevin Brown
5535f072e1 Focus the search upon opening 2014-11-07 20:16:59 -05:00
Kevin Brown
07e82d6be8 Automatically create options on select 2014-11-07 20:13:59 -05:00
Kevin Brown
d411a0fa76 Fixed default selections for arrays 2014-11-07 19:53:50 -05:00
Kevin Brown
e3deb3ae03 Remove jQuery from building the options
This fixes many of the speed issues the results had when working
with large data sets. jQuery has been completely dropped, with the
exception of setting the data, which does not require a jQuery
object but instead works directly with the DOM. This does not
include options with children, which still uses jQuery to deal
with the nested objects.

This only works with IE 8+, which is fine.
2014-11-07 19:37:07 -05:00
Kevin Brown
8ecc35d504 Fix caching when querying
This fixes caching when querying, so the data object no longer
needs to be completely regenerated whenever the `<option>` is
queried.

While this does not fix the speed issues on the first opening of
the instance, it does fix the speed issues during searching.
2014-11-07 19:07:01 -05:00
Kevin Brown
05ddbec1a7 Improve data array speeds
This improves the speeds of creating the `<option>` tags for array
data. By creating the HTML ahead of time and putting it into an
`<option>` element before passing it to jQuery, it cuts down on the
time it takes for jQuery to process the HTML string and convert it
into DOM elements. This proved to be incredibly slow.

This also changes the `item` function to return early when the
data exists. The `$e.data` call has also been switched to a
`$.data` call, which doesn't need to check the DOM to see if the
data attributes already exist. This cuts down on a bit of wasted
time, as the `data` key should never be present in the DOM, and it
should be ignored if it is.
2014-11-07 11:17:37 -05:00
Kevin Brown
56dbbf8cdb Improve option generate speed
Now the options are mostly generated by hand before being passed
off to jQuery for templating. This fixes much of the speed issues
we had when they were entirely being generated through jQuery.
2014-11-06 13:40:36 -05:00
Kevin Brown
8158e151ff Added test to make sure the options are generated 2014-11-06 12:12:43 -05:00
Kevin Brown
8ea23610f1 Convert array data to options immediately
This converts individual objects passed in through the `array`
parameter to `<option>` tags when Select2 is initialized. This
removes a lot of duplicate code from the `ArrayAdapter`, and keeps
everything closer to the native `<select>` element.

This introduces a breaking change from previous versions of Select2,
where the initial value for array data was blank, even if a blank
option was not present in the original array of objects. Now the
first object passed in will be selected by default, following the
behavior of a standard `<select>` element.

This breaking change does not affect `<select multiple="multiple">`
elements, which by default have no selection.
2014-11-06 12:05:12 -05:00
Kevin Brown
5454a908a1 Started working on the initial release announcement 2014-11-06 11:27:28 -05:00
Kevin Brown
6d029f3f2f Merge pull request #2786 from exabugs/master
Delete 'StarHack' code. Because select2 support IE8+.
2014-11-05 17:48:33 -05:00
Kevin Brown
c7e8f81595 Added Spanish translation and fixed the example 2014-11-05 11:25:41 -05:00
Kevin Brown
69fb428e01 Rewrote the matcher example 2014-11-05 11:09:55 -05:00
Kevin Brown
ed98443d47 Added matcher example and reworked compat
The matcher example now matches the old matcher example, and the
compatibility module has been turned into a function decorator
instead of a class decorator.
2014-11-05 11:03:53 -05:00
Jonathan Toms
a83ae7858a recalculate $dropdown height after drop-above class added 2014-11-05 00:10:15 -05:00
exabugs
7f75f46e5b Delete 'StarHuck' code. Because select2 support IE8+. 2014-11-04 22:04:30 +09:00
Kevin Brown
6e4336769f Fix AJAx example 2014-11-03 19:32:50 -05:00
Kevin Brown
0bc4832995 Better infinite scroll
Only show the "No results found" message when there are no results
visible in the list. This avoid issues when loading more data, and
it returns no results.

Only try to see if the load more button is visible if it is present
in the DOM. This prevents making continuous requests when there are
no more results.
2014-11-03 19:24:29 -05:00
Kevin Brown
5e3b63289c Added infinite scrolling support for AJAX 2014-11-03 19:10:36 -05:00
Kevin Brown
78bcd6e831 Added docs build for grunt 2014-11-03 19:09:38 -05:00
Kevin Brown
91cecd55ed Handle minimumInputLength 2014-11-01 22:59:59 -04:00
Kevin Brown
8b7924fc72 Templating for selections 2014-11-01 22:12:21 -04:00
Kevin Brown
98fb41b442 Bring over the repo results formatter 2014-11-01 22:05:21 -04:00
Kevin Brown
a3fa516761 Added basic templating to results 2014-11-01 21:57:14 -04:00
Kevin Brown
be4d091451 Working on remote data sets
This starts work on the example, which currently uses the GitHub
API.

The `ajax.delay` option has been added that allows for debouncing
requests made within a certain number of milliseconds.
2014-11-01 21:36:36 -04:00
Kevin Brown
6d2b462e2b Better key event handling 2014-11-01 21:04:31 -04:00
Kevin Brown
e16c505c25 Move to a central key handler
This allows for any control to emit key events, and for the Select2
instance to handle them. So now the search box will allow for
results to be scrolled and selected, bringing back the old expected
functionality. This also stops triggering new queries when the
arrow keys are pressed.

The container will also be automatically focused when the dropdown
is closed, which is consistent with the old Select2.

The results will no longer be queried on initialization, but
instead will be queried when the dropdown is opened. This is more
consistent with the previous version of Select2.

The search box will now be cleared when the dropdown is closed.
2014-11-01 20:35:23 -04:00
Kevin Brown
3b575ad92f Register the click handler in the container
This shouldn't be in the core, it's much easier to override things
in the container.
2014-11-01 19:36:02 -04:00
Kevin Brown
130358e8ae Set up the click handler for closing
Now the dropdown will automatically be closed when the user clicks
outside of it.
2014-11-01 19:29:07 -04:00
Kevin Brown
f8ca597f02 Move all of the event binding into separate methods
This should make it easier to override in subclasses.
2014-11-01 19:05:08 -04:00
Kevin Brown
47d0bc4fe1 Allow the position of the tag to be customized. 2014-11-01 18:40:06 -04:00
Kevin Brown
8bdd83c44f Better support for tagging
This removes the special case for `<select>` elements and instead
handles everything tagging related within the `Tags` decorator.
2014-11-01 17:49:53 -04:00
Kevin Brown
b87a4a55e4 Fix automatically hiding the placeholder
The placeholder will not only be automatically hidden if the
results adapter was not already overridden. This will allow users
to override the results adapter to now hide the placeholder, if
they do not want that functionality.
2014-11-01 17:27:30 -04:00
Kevin Brown
e57e0b1870 Added decorator to remove the placeholder object
This will remove the placeholder object from the results list.
2014-11-01 17:21:46 -04:00
Kevin Brown
09a0bb89b8 Move placing the sections into methods
This allows them to be overridden, allowing for things like
attaching the dropdown to a different part of the DOM.

The id is also now generated in a function that can be overridden.
2014-11-01 17:08:59 -04:00
Kevin Brown
8bf86ebae1 Tweak the README
Now we point users to the `LICENSE.md` file for the license,
instead of including it in the README. This also removes the
example integrations, which are no longer officially maintained
by Select2.

The translation section has also been updated.
2014-11-01 16:05:47 -04:00
Kevin Brown
fef1ccfd81 Merge branch 'master' into select2-ng
This adds the package management files back into the repository
and also updates the README to reflect the future Select2 4.0.
2014-11-01 15:43:01 -04:00
Kevin Brown
6f6e4f50aa Added MIT license 2014-11-01 15:21:10 -04:00
Kevin Brown
4e19d87927 modified version identifiers in descriptors for release 3.5.2 2014-11-01 14:43:38 -04:00
Kevin Brown
db7cd1b373 Go back to hiding the original element
This was only done to maintain compatibility with labels, back
when we could capture the focus events from the original element.
Now that we handle them in a different way, this is no longer
needed.

This fixes #2769.
2014-11-01 14:39:06 -04:00
Kevin Brown
959b96eca6 Started work on the "No results found" message 2014-11-01 14:20:51 -04:00
Kevin Brown
9bb993cee9 Added Translation object
This continues the work to get translations built into Select2.
2014-10-31 23:03:03 -04:00
Kevin Brown
20fcaa4449 Start working on translations
This adds a custom r.js build for i18n, which processes each JS
file in the `select2/i18n` directory and builds it.

So far only the "No results found" translation has been added.
2014-10-31 22:24:59 -04:00
Kevin Brown
65875bf8e7 Better handle AMD across files
Now that `define` and `require` are never made public, we have to
build everything to support `$.fn.select2.amd` while also working
with other AMD loaders.
2014-10-31 21:13:43 -04:00
Kevin Brown
8b77dcab98 Remove old start and end files 2014-10-31 20:17:40 -04:00
Kevin Brown
afbf30d09a Wrap JS
This will prevent leaking variables, and will remove the possibility
of Select2 not working well with other plugins which support
AMD loaders. The `define` and `require` methods are now aliased
under `$.Select2.amd` for use inside additional files, such as
translations.
2014-10-31 20:15:17 -04:00
Kevin Brown
8e70642b87 Lint the Gruntfile 2014-10-31 19:12:27 -04:00
Kevin Brown
e943f6ef08 Revert "Fixed Select2 jumping around in Chrome"
This reverts commit 0daee34626.
This results in artifacts being displayed in Chrome, and doesn't
fix the other jumping issue.
2014-10-31 18:27:33 -04:00
Kevin Brown
1de4be3749 Fixed TypeError when destroying Select2
This fixes #2587.
2014-10-31 18:15:32 -04:00
Kevin Brown
7581fa5708 Merge pull request #2588 from fabdouglas/patch-8
Redirect the focus of original input to Select2
2014-10-31 18:13:47 -04:00
Kevin Brown
0daee34626 Fixed Select2 jumping around in Chrome
This fixes #2769, where Select2 will jump around because of how
focus moves to the original element when selections are made.

Because absolute positioning pushed the original element out of the
viewport, bringing it back into the viewport should be the best
fix.
2014-10-31 18:10:13 -04:00
Kevin Brown
0ed9e0283d Merge pull request #2775 from Splaktar/patch-1
Update link for AngularUI
2014-10-31 16:32:56 -04:00
Kevin Brown
f16eb6c621 Merge pull request #2776 from bjornjohansen/master
Replaced nonexistent locale "no" with "nb" (Norwegian Bokmål).
2014-10-30 11:51:11 -04:00
Bjørn Johansen
d1c19eb012 Added the formatMatches string 2014-10-29 22:36:54 +01:00
Bjørn Johansen
3a9896dc4b Replaced nonexistent locale "no" with "nb" (Norwegian Bokmål). Added space before ellipsis for correct punctuation. 2014-10-29 22:13:48 +01:00
Michael Prentice
9ff939b534 Updated AngularJS link to HTTPS
HTTPS everywhere
2014-10-29 12:45:07 -04:00
Michael Prentice
fd9006047c Updated link for AngularUI
They have deprecated the original ui-select2 directive in favor of the new and better supported ui-select directive. This happened a couple weeks ago.
2014-10-29 12:41:03 -04:00
Kevin Brown
dd323687f3 Merge pull request #2364 from joshuajonah/master
Stopped refresh to top when `closeOnSelect: false`
2014-10-24 18:27:25 -04:00
Valdas Petrulis
c1f338cfbf Dont update the results if the term hasn't changed.
https://github.com/ivaynberg/select2/issues/2751
2014-10-23 10:04:39 +03:00
Valdas Petrulis
0cc0ac43f5 Fixed not to break use case: setting the new value after someone was just searching with a different value
https://github.com/ivaynberg/select2/issues/2751
2014-10-22 16:34:28 +03:00
Kevin Brown
f4f09c9d7e Dropping the new translation for now 2014-10-21 21:44:49 -04:00
Kevin Brown
86cd7245d2 Working on the contributor pages 2014-10-21 21:44:01 -04:00
Kevin Brown
19033f60f7 Added disabled example 2014-10-21 21:44:01 -04:00
Kevin Brown
5dd7df33bb Allow programmatic access of Select2 2014-10-21 21:44:01 -04:00
Kevin Brown
5dd5ad93a6 Ensure that the highlighted result is visible
When opening the dropdown, the highlighted result will not always
be scrolled into view if it isn't already.
2014-10-21 21:44:01 -04:00
Kevin Brown
a728d948c1 Added some content to the tagging section 2014-10-21 21:44:01 -04:00
Kevin Brown
559a93bcb6 Added basic implementation of tags
Tags no longer takes an array, as pre-existing tags should already
exist as options in the data adapter.  A compatibility module will
later be added to convert tag data that is passed in to array data.

Tags allow for users to enter their own options, which will be
added to the beginning of the results list.
2014-10-21 21:44:01 -04:00
Kevin Brown
9e130956fc Better compatibility with array data
When using array data, and an option is selected, the data that is
attached to the DOM element will be run through `item` and should
have any private, automatically generated attributes added and
merged with it.
2014-10-21 21:44:00 -04:00
Kevin Brown
72ae0da879 Only generate result ids when the container has an id 2014-10-21 21:44:00 -04:00
Kevin Brown
cdfa0499f4 Accessibility matches better
Now the accessibility for the single select box better matches what
is picked up for a native select.

This fixes an issue with us always setting `aria-activedescendant`,
which caused Orca to always say the full path to the selected
result, instead of saying that the box was a combobox with a
selection. This means that the `aria-activedescendant` attribute
will now only be set when the dropdown is open.

This also switches the results list from a listbox to a tree, which
is what Firefox tells screen readers that a standard select is.
Combined with a change to use `role=group` and `aria-label` for
option group labels, screen readers will now announce the group
that they are in as well.
2014-10-21 21:44:00 -04:00
Kevin Brown
7c8601d33b Better accessibility for results
Options are correctly called out as focus moves around the results
list.
2014-10-21 21:44:00 -04:00
Kevin Brown
00a31df47a Generate more consistent ids
A global id is generated for the container, and each further id
builds off of the global id.
2014-10-21 21:44:00 -04:00
Kevin Brown
e018a6f69e Changed tests to not use deepEqual
We should only be checking the option values that matter, such as
`id` and `text`, instead of checking all of the option values. This
will prevent unexpected breaking when new properties are added to
the options.

Existing properties should be covered by tests to avoid regressions.
2014-10-21 21:44:00 -04:00
Kevin Brown
9102cf9473 Fixed keyboard scrolling
Now when scrolling through results with the keyboard, the
highlighted option will always be visible.
2014-10-21 21:44:00 -04:00
Kevin Brown
9ada3712f7 Single select accessibility
Now the Select2 instance is correctly recognized as a combobox, and
the selected option is read aloud when it is focused, just like in
a standard select box.

This works by generating semi-random ids that are used for the
ARIA attributes.  These are not intended to be consistent by any
means, they are just generated to make the instance accessible by
screen readers.
2014-10-21 21:44:00 -04:00
Kevin Brown
8dfd6d6960 Add more keyboard support
When the main container is focused, you can now move the highlighted
result by using the up and down arrows on the keyboard.

This does not yet keep the highlighted result visible at all times,
and it only is implemented on single selects, but that will come in
the future.
2014-10-21 21:44:00 -04:00
Kevin Brown
cc9419928e Working on accessibility
This makes quite a few changes, one of the major ones being the
removal of classes for marking options as selected or selectable,
and instead using the ARIA attributes which should already be
present.
2014-10-21 21:44:00 -04:00
Kevin Brown
e601e33ff3 Added a base class for the selection container 2014-10-21 21:44:00 -04:00
Kevin Brown
a07fc21815 Added remove button on multiple select choices 2014-10-21 21:43:59 -04:00
Kevin Brown
3d1dc36711 Added support for placeholders
Placeholder support has been implemented as a separate module, so
any selection container should be able to be decorated and get
instant placeholder support. It hooks into the updating method of
selections, and determines when to display the placeholder based
on the options that are being updated.

It works in the same way as the old placeholders. If no options
are selected and being displayed, like in the case of a multiple
select, then the placeholder will always be shown.  If one option
is being displayed, and the id of the placeholder matches the id
of the selected element, then the placeholder will be shown.  This
is similar to the functionality that was present in Select2 2.x,
where the placeholder could be passed in as an object that would
be compared to the selection.

This still requires that, for single selects, the first element
must match the placeholder id.  Because the default placeholder id
is a blank string, this will maintain backwards compatibility with
past versions where the first option should be blank.  This can
still be overridden to point at a different id, keeping support
for systems where the placeholder doesn't use a blank value.

**Note:** This does not hide the blank option for single selects,
but that will still be maintained for backwards compatibility
within the results module.  It will not depend on a placeholder
being present, but instead will hide any options with blank text.
2014-10-21 21:43:59 -04:00
Kevin Brown
5cf0dbf114 Visibility of the search can be controlled 2014-10-21 21:43:59 -04:00
Kevin Brown
5b98f690c1 Fixed examples page 2014-10-21 21:43:59 -04:00
Kevin Brown
1aff36d28f Add internal support for sorting options 2014-10-21 21:43:59 -04:00
Kevin Brown
4f8fb28d93 Add backwards compatibility with the old matcher
This adds a module for the old matcher, so users can decorate a
data adapter with the module to get the old matcher functionality.

The third parameter to the old matcher, the full element, will
always be the full object now. This does not match the old
functionality, where the third parameter for a `<select>` element
would be the `<option>` element.
2014-10-21 21:43:59 -04:00
Kevin Brown
6d5b0a6c59 Add getters and setters for options
This also gets an object set up that handles the default options.
2014-10-21 21:43:59 -04:00
Kevin Brown
d0fe07f954 Added tests for the query function 2014-10-21 21:43:59 -04:00
Kevin Brown
6375e2ee09 Working on searching results 2014-10-21 21:43:59 -04:00
Kevin Brown
fa3495de24 Drop the playground 2014-10-21 21:43:59 -04:00
Kevin Brown
845f245e1c Fixed sizing of the new select element 2014-10-21 21:43:59 -04:00
Kevin Brown
27ac50a854 Fixed problems with non-string ids
We have to enforce ids being strings as the values of options within
a select will always be an id.  This fixes an issue that we had with
array selections not being highlighted in the results.
2014-10-21 21:43:59 -04:00
Kevin Brown
ac7e7dae24 Added example for disabled results 2014-10-21 21:43:59 -04:00
Kevin Brown
acd469c658 Added optgroup support 2014-10-21 21:43:58 -04:00
Kevin Brown
fd5603be11 Examples use groups now 2014-10-21 21:43:58 -04:00
Kevin Brown
c51a6d6cee Examples are good for now 2014-10-21 21:43:58 -04:00
Kevin Brown
d386849c1f Started building out the examples
This also adds the `select2` function back to jQuery, so you can
still initialize Select2 using the old syntax.
2014-10-21 21:43:58 -04:00
Kevin Brown
4ae3439dbc Started building the docs site 2014-10-21 21:43:58 -04:00
Kevin Brown
c74aeeb5c8 Start working on docs 2014-10-21 21:43:58 -04:00
Kevin Brown
e48d8c2218 Minify dist again 2014-10-21 21:43:58 -04:00
Kevin Brown
9c6a18700b Improved the jshint config a bit more 2014-10-21 21:43:58 -04:00
Kevin Brown
cbfe23eb52 Added basic tests for select2/data/array 2014-10-21 21:43:58 -04:00
Kevin Brown
5f176b66f2 Add tests for select data adapter 2014-10-21 21:43:58 -04:00
Kevin Brown
26986cacb6 Fix undefined variable, rebuild dist 2014-10-21 21:43:58 -04:00
Kevin Brown
f0b819336a Linted select2/data/* and select2/dropdown/* 2014-10-21 21:43:58 -04:00
Kevin Brown
981432ee89 More linting on select2/* 2014-10-21 21:43:58 -04:00
Kevin Brown
f0e3968989 Linted select2/selection/* 2014-10-21 21:43:58 -04:00
Kevin Brown
898db2e74a Linted select2/utils
For the most part this was semicolon fixes, but there was a
function, `calledMethod`, which did need to be moved out of the
loop.
2014-10-21 21:43:58 -04:00
Kevin Brown
ed6eb4ff92 Dropped old js files 2014-10-21 21:43:57 -04:00
Kevin Brown
0bc56a922b Linted tests 2014-10-21 21:43:57 -04:00
Kevin Brown
aebc7ce0d2 Added very basic jshint config 2014-10-21 21:43:57 -04:00
Kevin Brown
114732ec25 Broke out a base data adapter
This should allow us to create a basic interface that all adapters
must follow.
2014-10-21 21:43:57 -04:00
Kevin Brown
08ac13d510 Two spaces indentation for tests 2014-10-21 21:43:57 -04:00
Kevin Brown
5a17226ba6 Minify assets 2014-10-21 21:43:57 -04:00
Kevin Brown
0f30667f01 Added very basic AJAX adapter 2014-10-21 21:43:57 -04:00
Kevin Brown
cbc2d2f3ec Trigger events when the dropdown opens and closes 2014-10-21 21:43:57 -04:00
Kevin Brown
315b1b3c12 Added array adapter
This should add support for dynamically generated array data that
still works with a basic `<select>` element.
2014-10-21 21:43:57 -04:00
Kevin Brown
3e05e32eda Small changes in preparation for more adapters 2014-10-21 21:43:57 -04:00
Kevin Brown
d57f8b2203 Clicking on a selected option triggers an unselect event 2014-10-21 21:43:57 -04:00
Kevin Brown
94b460f930 Limit the explicit coupling between adapters 2014-10-21 21:43:57 -04:00
Kevin Brown
0081716841 Header and footer decorators
Added examples of header and footer decorators.
2014-10-21 21:43:57 -04:00
Kevin Brown
f82202036f Added example
People have asked about getting the multiple selection container
to show for a single selection.  This is a basic example that shows
that it could easily be done now.
2014-10-21 21:43:57 -04:00
Kevin Brown
14d3d99868 Basic multiple select implementation 2014-10-21 21:43:57 -04:00
Kevin Brown
1197960a4e Add proof-of-concept decorator for clearing 2014-10-21 21:43:57 -04:00
Kevin Brown
a25883c659 Add travis
Travis can't be enabled unless we put a minimal file on the `master`
branch.
2014-10-21 21:43:57 -04:00
Kevin Brown
792133ce5c Added Utils.Decorate and tests
This adds decorator support in a very basic way, but enough that
it doesn't take a lot of effort to get it implemented.

This also starts work on splitting things out for theming.
2014-10-21 21:43:56 -04:00
Kevin Brown
2ca14517bb Add classes to results options 2014-10-21 21:43:56 -04:00
Kevin Brown
01c3dc5886 Basic dropdown is in place 2014-10-21 21:43:56 -04:00
Kevin Brown
ae57cf6460 More work on rendering
Switched all of the divs to spans, as the container should not be
a block by default.
2014-10-21 21:43:56 -04:00
Kevin Brown
297a06f8d4 Working on rendering everything 2014-10-21 21:43:56 -04:00
Kevin Brown
06e195b025 Work on the AMD scaffolding
This will make it far easier to ensure that components are in their
own modules as well as make it possible to have custom builds of
Select2.
2014-10-21 21:43:56 -04:00
Igor Vaynberg
c0d9316ce2 clean up playground 2014-10-21 21:43:56 -04:00
Igor Vaynberg
bb63555ab2 mobile playground and some wip on architecture 2014-10-21 21:43:56 -04:00
Igor Vaynberg
68f91c3f1b added footer extension 2014-10-21 21:43:56 -04:00
Igor Vaynberg
08af2fb629 decorators idea 2014-10-21 21:43:56 -04:00
Igor Vaynberg
76933017bf out with the old 2014-10-21 21:43:56 -04:00
Valdas Petrulis
03a15e070b After clearSearch nextSearchTerm is not cleared
https://github.com/ivaynberg/select2/issues/2753
2014-10-21 12:42:28 +03:00
Kevin Brown
5a184921b6 Merge pull request #2726 from KayLeung/patch-1
Fixes results count in accessible text
2014-10-16 17:41:22 -04:00
Kevin Brown
30ab851142 Merge pull request #2747 from arthur-peka/master
fixing minor errors e.g. redefined variable
2014-10-16 10:40:44 -04:00
Arthur
35f706afbd fixing minor errors e.g. redefined variable 2014-10-16 14:27:19 +03:00
Kevin Brown
ea266346be Merge pull request #2665 from bor0/master
Items with spaces can be added infinite times on multiselects
2014-10-13 20:39:17 -04:00
od3n
2afc930a12 updated Indonesian translation 2014-10-11 10:33:22 +08:00
od3n
de5fe02f5e updated Malay translation 2014-10-11 10:32:31 +08:00
Kevin Brown
073f4cb087 Merge pull request #2728 from demkalkov/master
'document.body' instead of 'body' selector
2014-10-10 12:05:26 -04:00
Dementiy Kalkov
e716ad01e1 'document.body' instead of 'body' selector 2014-10-10 13:32:58 +04:00
Kay.L
b7a7dd064e Fixes results count in accessible text
Only counts the selectable items in the list. (filter out selected item)
2014-10-09 13:36:00 +08:00
Kevin Brown
eb0b9ff731 Merge pull request #2690 from marcelod/patch-1
Update Brazilian Portuguese translation
2014-10-08 21:24:14 -04:00
Kevin Brown
c1df0aa942 Merge pull request #2702 from dgroux/master
allow formatSelection to return a jQuery object
2014-10-08 21:12:01 -04:00
Boro Sitnikovski
8644ccb68b Items with spaces can be added infinite times on multiselects
Add optional parameter transformVal that allows the user to define transformation for splitVal

Example demos:
(Infinite spaces, default transformVal):
http://jsfiddle.net/DV23t/9/

(No infinite spaces, transformVal = function (x) { return x; }):
http://jsfiddle.net/DV23t/12/
2014-10-08 23:28:41 +02:00
Kevin Brown
08ee57a03c Merge pull request #2720 from josmardias/fix-ie8-ie9
Fixing IE8 and IE9 issues on select2#3.5.1
2014-10-07 12:25:56 -04:00
Vitor Oliveira
4955be239d Testing if the object exists before use it
It's necessary to make the code compatible with IE8 and IE9.
2014-10-07 13:07:58 -03:00
Dylan Roux
d385dc512e allow formatSelection to return a jQuery object 2014-09-26 15:14:19 +02:00
Kevin Brown
c5c42eaf72 Merge pull request #2695 from junhanamaki/master
allow markups of subsequent formatLoadMore message
2014-09-25 16:45:59 -04:00
Kevin Brown
2b90de5012 Merge pull request #2679 from r0mille/master
fixes cutoff for bottom option when selecting with keyboard
2014-09-25 16:42:23 -04:00
junhanamaki
68070d0cac allow markups of subsequent formatLoadMore message
- setting message with html instead of text
- invoking escapeMarkup method before setting message
2014-09-23 20:48:18 +01:00
Marcelo Diniz
759b01926b Update Brazilian Portuguese translation
Add row `formatAjaxError` and update when `formatInputTooShort` value equal to 1
2014-09-18 13:27:53 -03:00
Kevin Brown
bfaaf8e6e5 Merge pull request #2674 from LuisGP/patch-2
Update select2_locale_es.js
2014-09-11 19:15:26 -04:00
romille
633d4e6b4b fixes cutoff for bottom option when selecting with keyboard 2014-09-11 17:45:59 -04:00
Kevin Brown
dc6b987def Merge pull request #2673 from LuisGP/patch-1
Update select2_locale_es.js
2014-09-11 07:50:00 -04:00
LuisGP
ef284de8b3 Update select2_locale_es.js
Added formatAjaxError string
2014-09-11 13:10:17 +02:00
LuisGP
438be4f537 Update select2_locale_es.js 2014-09-11 13:03:19 +02:00
Kevin Brown
d0d4bfb289 Merge pull request #2655 from DamianZ/master
bug fixes in languages
2014-09-08 15:14:12 -04:00
Damian Zajkowski
21628abb1a [fix] uproszczenie i poprawienie logiki dodawania suffiksów liczby mnogiej
Signed-off-by:Damian Zajkowski <damian.zajkowski@rst.com.pl>
2014-09-02 12:07:48 +02:00
Damian Zajkowski
bbb3722a9b [fix] secure fix, to prevent access to undefined array index
Signed-off-by:Damian Zajkowski <damian.zajkowski@rst.com.pl>
2014-09-02 11:12:31 +02:00
Damian Zajkowski
c2bd82f189 [fix] change undefined variable to the correct one
Signed-off-by:Damian Zajkowski <damian.zajkowski@rst.com.pl>
2014-09-02 10:52:42 +02:00
Kevin Brown
15133f6642 Merge pull request #2650 from mlocati/remove-utf8-bom
Remove UTF-8 BOM
2014-08-29 10:44:50 -04:00
Michele Locati
9f6f6059c7 Remove UTF-8 BOM
select2_locale_ar.js (and only it) contains the UTF-8 BOM: let's remove it.
2014-08-29 11:28:27 +02:00
Kevin Brown
8460e83df0 Merge pull request #2642 from b4oshany/master
Fixed JS breakage due to undefined variable, viewPortLeft.
2014-08-27 15:26:39 -04:00
Oshane Bailey
9207f23073 Fixed JS breakage due to undefined variable, viewPortLeft. 2014-08-26 22:24:33 -05:00
Kevin Brown
2a9db24c58 Add cdnjs to the README
This closes #2638.
2014-08-26 08:47:54 -04:00
Kevin Brown
93157214ad Merge pull request #2415 from santialbo/text-function
Add text function for formatResult and formatSelection
2014-08-22 18:37:07 -04:00
Kevin Brown
7505bb6d60 Merge pull request #2595 from scotam/drop-left-check
Adds check for enough room before switching right to left drop
2014-08-22 18:23:18 -04:00
Kevin Brown
4c59e16a27 Merge pull request #2591 from gsirin/patch-1
IE and compat mode :/
2014-08-21 19:12:57 -04:00
Kevin Brown
2e5538318e Merge pull request #2610 from torke1/patch-1
Prevent multiple select2-hidden-accessible span's
2014-08-21 18:58:17 -04:00
Kevin Brown
c814143df8 Merge pull request #2609 from ivaynberg/issue_1535_contributor_guidelines
Add contributing guidelines
2014-08-21 17:38:02 -04:00
Kevin Brown
4645183054 Merge pull request #2227 from fabdouglas/patch-6
Ignore focus and error on IE7 for disabled select2
2014-08-17 16:49:25 -04:00
Kevin Brown
d6d9f95135 Merge pull request #2615 from mikaelkael/patch-1
Syntax error with IE embedded as ActiveX in fat client
2014-08-14 09:27:00 -04:00
Mickael Perraud
afdb0da5f3 Syntax error with IE embedded as ActiveX in fat client
Syntax error with IE embedded as ActiveX in fat client
2014-08-14 13:59:09 +02:00
torke1
651047d52a Issue #2412
Maybe the fix is a bit ugly, but what it does is to make sure that we don't already have a select2-hidden-accessible span before we create a new one. Tested in several scenarios in our application and has solved the issue for us.
2014-08-13 17:27:07 +02:00
Kevin Brown
6df22fc4a8 Merge pull request #2580 from Phazeshift/master
Fixing 'Type mismatch' exception in destroy in IE11
2014-08-13 08:17:10 -04:00
Kevin Brown
0b3a690a29 Fixed a few links 2014-08-12 20:52:10 -04:00
Kevin Brown
3e77930b8a Add IRC information to README 2014-08-12 20:50:38 -04:00
Kevin Brown
cfcd555471 Added initial contributing guidelines 2014-08-12 20:45:50 -04:00
Rhodri Pugh
d2c9b9aac3 only switch right to left drop when enough room available 2014-08-07 11:48:55 +01:00
Gökhan Sirin
487b329893 IE and compat mode :/
Fixed 2 minor typos which prevent select2 to work in IE compat mode.
2014-08-06 18:24:48 +02:00
Fabrice Daugan
9d19b7f701 Redirect the focus of original input to Select2
Redirect the focus of original input to the "focus" event of Select2.
this way, we get back the accessible label for feature of previous Select2 versions.
2014-08-04 22:50:22 +02:00
Kevin Brown
3c17d3b5bb Call out documentation a bit more explicitly
This should help fix the problem with users not being able to find
the branch when trying to update the documentation.
2014-08-01 10:36:09 -04:00
Phazeshift
39382fab08 Fixing 'Type mismatch' exception in destroy in IE11 2014-08-01 12:19:19 +01:00
Kevin Brown
a6c9b12b82 Merge pull request #2576 from rinogo/master
Basic CSS gradient fix for choices
2014-07-31 20:24:58 -04:00
Rich Christiansen
75e089f3a1 Basic CSS gradient fix for choices
The “top” on the other styles (-moz-linear-gradient,
-webkit-linear-gradient, etc) signifies “start at the top”.  The
equivalent basic “linear-gradient” style is “to bottom”, not “to top”.
2014-07-31 10:10:34 -06:00
Kevin Brown
7c1acdbe5e Merge pull request #2557 from davidwparker/patch-1
Update angular.js website
2014-07-23 12:04:25 -04:00
David Parker
a17becd38c Update angular.js website
Make sure it's http:// so it actually has the real URL.
2014-07-23 10:02:31 -06:00
Kevin Brown
c13b284c74 Change the release remote back to origin 2014-07-22 19:00:44 -04:00
Kevin Brown
362751acd4 modified version identifiers in descriptors for release 3.5.1 2014-07-22 18:58:58 -04:00
Kevin Brown
140efeb28c Merge pull request #2546 from marcovtwout/patch-1
Update select2_locale_nl.js
2014-07-19 20:59:52 -04:00
Kevin Brown
d939794b4c Merge pull request #2550 from pulzarraider/patch-1
Fixed slovak translation
2014-07-19 20:59:11 -04:00
Andrej Hudec
65164fbc90 Fixed slovak translation 2014-07-19 11:46:29 +02:00
marcovtwout
74226e9f47 Update select2_locale_nl.js
Improve translation.
2014-07-17 16:07:49 +02:00
Kevin Brown
f579cbb43c Merge pull request #2540 from futhr/patch-1
Fixes updated translation pattern.
2014-07-16 18:00:56 -04:00
Tobias Bohwalli
e7ad0b00cd Fixes updated translation pattern. 2014-07-16 23:58:13 +02:00
Kevin Brown
f99560508e Merge pull request #2529 from OtkurBiz/master
Added Uyghur translation
2014-07-15 17:45:51 -04:00
boyaq
f330cb2124 Changed Uyghur translation 2014-07-11 19:02:57 +08:00
boyaq
feedfe21de Merge remote-tracking branch 'upstream/master' 2014-07-11 19:01:16 +08:00
boyaq
d8a9f697fb added Uyghur translation 2014-07-11 18:54:33 +08:00
boyaq
6695f88b70 added Uyghur translation 2014-07-11 18:53:23 +08:00
Kevin Brown
c4cba75b5a Merge pull request #2507 from ivaynberg/i18n_backport
Bring locale improvments to 3.5.x
2014-07-03 09:58:23 -04:00
Jonas Pyfferoen
6de07310c8 Fix da language apply
Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2014-07-01 19:17:21 -04:00
Jonas Pyfferoen
8fc069df45 Added some missing ;
Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2014-07-01 19:17:21 -04:00
Jonas Pyfferoen
e2e476c196 Remaining syntax + indentation
Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2014-07-01 19:17:21 -04:00
Jonas Pyfferoen
8243f8191c Syntax fix
Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2014-07-01 19:17:21 -04:00
Jonas Pyfferoen
6b92b1c211 Immediately apply language when including
Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2014-07-01 19:17:21 -04:00
Jonas Pyfferoen
837715f939 Fixes #2278
Instead of instantly applying the translations, add them to an array.
That way users can include the language files that their site supports
and apply the required language using $.extend($.fn.select2.defaults,
$.fn.select2.locales["nl"]);

Signed-off-by: Kevin Brown <kevin@kevinbrown.in>
2014-07-01 19:17:20 -04:00
Kevin Brown
79b5bf6db9 Merge pull request #2483 from hitosu/master
filter 229 keyCodes (input method editor is processing key input)
2014-06-26 20:18:09 -04:00
Igor Vaynberg
724d2f700f Merge pull request #2491 from Ermish/master
Added Ajax Error Handling
2014-06-26 08:15:05 -07:00
Ermish
36db1f1966 Revert "gitignore"
This reverts commit d19bb1c32c.
2014-06-25 20:19:21 -04:00
Ermish
d19bb1c32c gitignore 2014-06-25 19:44:49 -04:00
Ermish
b505601629 Added Ajax Error Handling
Added an error message when an ajax error occurs. This can be
overridden through the select2 option “formatAjaxError”.
2014-06-25 19:40:08 -04:00
Vasily Kazantsev
7c1ceb8fd9 filter 229 keyCodes (input method editor is processing key input) 2014-06-22 19:07:36 +03:00
Kevin Brown
fdad112682 Merge pull request #2481 from sbilstein/master
Fixes #2434 Prevents whitespace only tags from being created
2014-06-22 11:00:37 -04:00
Siegfried Bilstein
2690053010 Fixes #2434 Tagging support allows creation of tags that are only whitespace 2014-06-21 11:37:53 -07:00
Kevin Brown
a73d1b2b52 Merge pull request #2465 from rvitaliy/patch-1
fixed destroy
2014-06-17 21:00:51 -04:00
Kevin Brown
5daca7424e Merge pull request #2466 from tjperovich/patch-1
Fix there/their typo
2014-06-17 21:00:23 -04:00
tjperovich
c0cc6c9f94 Fix there/their typo 2014-06-17 10:11:09 -04:00
Vitaliy Ryaboy
78526a3860 Update select2.js
fixed destroy
2014-06-17 13:47:31 +02:00
Kevin Brown
0d9893936c modified version identifiers in descriptors for release 3.5.0 2014-06-16 19:29:46 -04:00
Kevin Brown
5a7d250071 Merge pull request #2444 from surgeforward/undefined-top
Fix error: Cannot read property 'top' of undefined
2014-06-15 16:22:04 -04:00
Kevin Brown
3fee8fc7e6 Detect classes separated by multiple spaces
This detects classes separated by multiple spaces and will trim
extra spaces surrounding the class attribute.

This closes the following issue: https://github.com/ivaynberg/select2/issues/2358
2014-06-11 20:08:57 -04:00
Kevin Brown
9e17f63013 Normalized select2-selecting event
This normalizes the `select2-selecting` event so the object is
returned as `choice` in the event data.  While the documentation
points to the name being `object`, all other events return the
affected data object as `choice`.

This closes the following issue: https://github.com/ivaynberg/select2/issues/2340
2014-06-11 20:02:23 -04:00
Kevin Brown
b13c9b474d Small formatMatches change for single results
This changes `formatMatches` to notify the user that they can
select the single result.  This is a more clear result compared to
the previous one.

This closes the following issue: https://github.com/ivaynberg/select2/issues/2329
2014-06-11 19:52:08 -04:00
Cameron Spear
0675805621 Fix error: Cannot read property 'top' of undefined
Lines [1499](d487fc58a8/select2.js (L1499)) and [1509](d487fc58a8/select2.js (L1509)) make a call to `child.offset().top`. I don't know what's causing `child.offset()` to return undefined, but it is and it's breaking Select2 so that I can't select the last item in the list (this error occurs when I try hovering over or clicking on the last item in a list).

I can try and create a reduced case, but this fix is 100% backward compatibe, passes all the tests you have for the project and has a 0% chance of breaking anyone's working code. With this patch, my dropdown works just fine. At worst, this does *nothing* for people, at best, it fixes a rare edge case. Like my edge case. And I'm a pretty important person to me.
2014-06-06 19:04:14 -07:00
Kevin Brown
172f973d7b Merge pull request #2436 from asapach/patch-2
updated russian translation to match template
2014-06-05 12:00:03 -04:00
Kevin Brown
108849038a Merge pull request #2435 from asapach/patch-1
updated translation template to match master
2014-06-05 11:27:01 -04:00
Aliaksei Sapach
4871aa5469 updated russian translation
now matches the latest template, see #2435
2014-06-05 17:41:23 +03:00
Aliaksei Sapach
f6597ad1c5 updated translation template to match master 2014-06-05 17:05:44 +03:00
Kevin Brown
c23f978262 Merge pull request #2361 from rjbijl/rtl
Better support for RTL languages
2014-06-03 21:26:52 -04:00
Santi Albo
db86f19552 Remove added line 2014-05-28 18:17:31 +01:00
Santi Albo
b8ce36a65e Add text function for formatResult and formatSelection 2014-05-28 18:13:26 +01:00
Kevin Brown
d487fc58a8 Merge pull request #2360 from ycdtosa/master
changes on updateResults, populate by @cervengoc on #781
2014-05-27 19:09:38 -04:00
Kevin Brown
f544f9d9ab Merge pull request #2367 from gschizas/master
Added Greek accented characters to ignorable diacritics
2014-05-27 18:56:07 -04:00
Kevin Brown
fba74e3ccd Merge pull request #2363 from thereloaded/master
query as third parameter to ajax results callback
2014-05-27 16:50:52 -04:00
Kevin Brown
a29dfc2e2a Merge pull request #2410 from redbmk/master
IE8 does not support Array.prototype.forEach #2339
2014-05-27 16:46:07 -04:00
Kevin Brown
5a8394ba09 Merge pull request #2401 from Holek/patch-1
Reword Polish string for formatInputTooShort
2014-05-23 20:43:31 -04:00
Michał Połtyn
9d44e06dc1 Reword Polish string for formatInputTooShort 2014-05-23 22:36:51 +01:00
Braden M. Kelley
88c6a63937 IE8 does not support Array.prototype.forEach #2339 2014-05-23 10:29:25 -07:00
Kevin Brown
25f89bf49b Merge pull request #2388 from cnicodeme/patch-1
Update select2.js
2014-05-20 09:03:36 -04:00
Cyril Nicodème
02d6e88747 Update select2.js
Fix an exception when called "destroy" on a still opened dropdown.
2014-05-20 09:30:35 +02:00
Kevin Brown
2a0c8444fb Merge pull request #2377 from TheSisb/master
Handling mousemove more delicately
2014-05-19 19:41:18 -04:00
Kevin Brown
2a9407434d Merge pull request #2385 from johngallagher/patch-1
Merge examples from wiki
2014-05-19 09:32:38 -04:00
John Gallagher
a5b6ee431b Merge examples from wiki 2014-05-18 05:31:42 +01:00
TheSisb
e2cd841fe8 Handling mousemove more delicately
Mousemove fires very frequently and is a sure way of killing any app's FPS.  This tweak makes sure it is only bound when it is in fact needed.
2014-05-14 15:25:05 -07:00
George Schizas
827a549ba8 Reverted formatting of diacritics variable, now is again in one line 2014-05-13 17:11:14 +03:00
George Schizas
68c64a1129 Enabled Greek for diacritics ignoring 2014-05-13 17:05:46 +03:00
George Schizas
df43e1a1ec fixed word wrapping for DIACRITICS variable 2014-05-13 16:59:41 +03:00
ycdtosa
0f8a85b994 update populate at formatResults to use bulk append of nodes
this will make a small (25%) improvement on speed.
2014-05-13 12:27:52 +02:00
ycdtosa
c14f45cb6c Revert "changes on updateResults, populate by @cervengoc on #781"
This reverts commit 12e0de21ae.
2014-05-13 09:54:00 +02:00
thereloaded
49a86e21ed added query to function head jsdoc block 2014-05-13 09:34:16 +02:00
Robert-Jan Bijl
5470a453f9 Getting a few more pixels perfect in the RTL mode for multiple selects 2014-05-13 09:05:37 +02:00
Robert-Jan Bijl
fb91adaa57 More RTL style fixes, now for the multiple select 2014-05-13 08:44:20 +02:00
Joshua Jonah
64256f27f2 Stopped refresh to top when closeOnSelect: false
Not really sure how the noHighlightUpdate variable is supposed to work, it is undefined all the time so it appears to be broken. I just referred to `this.opts.closeOnSelect` to get the status directly.
2014-05-12 21:44:27 -04:00
thereloaded
f07bab5a6b query as third parameter to ajax results callback
for e.g. proper cache implementation it is necessary to have the complete query in the results callback of the ajax function. to not break backwards compatibility i added it as third parameter and did not replace query.page parameter
2014-05-12 19:35:59 +02:00
Robert-Jan Bijl
06b93b2703 Better support for RTL languages
CSS changes to better support RTL languages. Most notable is the positioning of the arrow on the left side of the select2 for RTL
2014-05-12 15:34:40 +02:00
ycdtosa
12e0de21ae changes on updateResults, populate by @cervengoc on #781
use string concatenation instead of DOM manipulation at populate. This
does gives about a 45% speed boost as measured with chrome v35. Code by
@cervengoc on #781
2014-05-12 11:39:54 +02:00
Kevin Brown
52425f93c8 Merge pull request #2355 from stephane/i18n
I18n
2014-05-09 15:52:31 -04:00
Stéphane Raimbault
00bad439bc Add note about position of locale file 2014-05-09 21:09:07 +02:00
Stéphane Raimbault
1d26b2bc17 Remove execution flags on select2_locale_zh-TW.js 2014-05-09 21:09:07 +02:00
Stéphane Raimbault
c37640720e Improve French translation 2014-05-09 21:09:07 +02:00
Kevin Brown
8fb7c15b4e Merge pull request #2350 from soichih/master
Fixed the issue where multi-line item inside multi list will touch the ..
2014-05-07 22:02:55 -04:00
Kevin Brown
765cdbfdad Merge pull request #2346 from sroe/patch-1
formatMatches translation added
2014-05-07 22:01:56 -04:00
Soichi Hayashi
09003853e4 Fixed the issue where multi-line item inside multi list will touch the right end of the container 2014-05-07 17:24:07 +00:00
sroe
7bf2f2eb75 formatMatches translation added
formatMatches translation added.
2014-05-06 10:41:08 +02:00
Kevin Brown
c864392ffb Merge pull request #2326 from dawnhammond/feature/2084
Fix issue with dropdown menu getting stuck in IE when using multiselect
2014-05-05 19:23:36 -04:00
Kevin Brown
85a194dd0f Merge pull request #2341 from seferov/locale_az
Azerbaijani translation added
2014-05-05 10:44:48 -04:00
seferov
d4fb3a3b00 typo fixed 2014-05-03 10:24:13 +03:00
seferov
344a4b19e2 Azerbaijani translation added. 2014-05-03 10:22:54 +03:00
Kevin Brown
ab6d38f9b4 Merge pull request #2338 from redbmk/master
keyword `this` inside closures referring to wrong object
2014-05-01 12:00:50 -04:00
Braden M. Kelley
2133129a74 keyword this inside closures referring to wrong object 2014-05-01 08:54:32 -07:00
Kevin Brown
ea3c6766a2 Merge pull request #2164 from colemanw/evaluateFix
Provide context for evaluated functions
2014-05-01 10:08:42 -04:00
Kevin Brown
988eccb557 Merge pull request #2332 from FallSe7en/master
Unbind onpropertychange event handler on destroy for IE8-10
2014-05-01 10:05:20 -04:00
Justin Lei
0313630c57 Unbind onpropertychange event handler on destroy for IE8-10 2014-04-29 17:08:23 -07:00
Dawn Hammond
796661a11d change condition to use length 2014-04-28 16:49:08 -05:00
Dawn Hammond
e3751422f0 Fix focus issue when select-input has placeholder 2014-04-28 14:15:50 -05:00
Fabrice Daugan
dd6198a3fa Ignore focus and error on IE7 for disabled select2
For disabled components, focus event was triggered.
On modern browser this error was ignored but not on IE7.

This PR save weird focus event and IE7 JS error.
2014-04-02 14:03:01 +02:00
Coleman Watts
43e381ed37 Provide context for evaluated functions 2014-03-05 21:02:06 -05:00
746 changed files with 91686 additions and 5341 deletions

6
.editorconfig Normal file
View file

@ -0,0 +1,6 @@
[*]
indent_style = space
end_of_line = lf
[*.js]
indent_size = 2

203
.github/CONTRIBUTING.md vendored Normal file
View file

@ -0,0 +1,203 @@
# Guidelines for Getting Help with Select2
**Before** you open a new issue, you must **read these guidelines.** If it is evident from your issue that you failed to research your question properly, **your issue may be closed** without being answered.
## Troubleshooting
There are some common problems that developers may encounter when using working with Select2 for the first time. **If you are new to Select2**, please consult the [common problems](https://select2.org/troubleshooting/common-problems) section of the documentation first.
If you don't find what you're looking for there, then please check the the [forums](https://forums.select2.org), [Stack Overflow](https://stackoverflow.com/questions/tagged/jquery-select2) and [existing issues](https://github.com/select2/select2/issues?utf8=%E2%9C%93&q=is%3Aissue), both opened and closed. Your question may have already been asked and answered before!
## Asking for Help
In general, the Github issue tracker should **only** be used for **bug reports** and **feature requests**. If you're just having trouble getting something to work, you should ask in the [forums](https://forums.select2.org) or on [Stack Overflow](https://stackoverflow.com) instead.
### Rules for all community platforms
1. Be polite, civil and respectful. Select2 is built and maintained entirely by volunteers.
2. If you are not conversationally proficient in English, **do not just post a machine translation** (e.g. Google Translate). Post in your native language, so that others who speak your language can help. You may post a machine translation below it for the general community to decipher.
3. Any code snippets should be formatted using [Markdown code fences](https://learn.userfrosting.com/troubleshooting/getting-help#use-markdown-to-format-blocks-of-code) and properly indented. Poorly formatted code is difficult to read and reflects badly on you as a programmer.
4. Check what you write for spelling and grammar issues. If you want others to take the time to read your question carefully, you must write your question carefully.
5. When possible create and link to a [minimal, complete, and verifiable](https://stackoverflow.com/help/mcve) example by cloning our [JSBin template](http://jsbin.com/goqagokoye/edit?html,js,output). Code dumps, zip files, etc are NOT acceptable.
6. Include relevant screenshots or animations, if possible. Drag your screenshots directly into the forums or issue tracker text box. They will automatically be uploaded and the Markdown to display them will be generated. Avoid third-party image hosts, or links which require extra clicks to view the image (except IRC, where this is unavoidable).
### Stack Overflow
Tag your question with the `jquery-select2` tag, and optionally with tags relevant to other technologies involved, such as `jquery` or another client-side framework. You should also mention the version of Select2 that you are using.
### GitHub Issue Tracker
We really appreciate clear bug reports that _consistently_ show an issue _within Select2_. If you are reporting a bug, you **must** follow these steps:
1. Make sure that your issue is a bug or feature request. General usage and troubleshooting questions should be directed to the [forums](https://forums.select2.org) or [Stack Overflow](https://stackoverflow.com/questions/tagged/jquery-select2). Issues asking for general support WILL BE CLOSED automatically.
2. Search the current issues, both open and closed, for a similar issue. If the bug is still present but the relevant issue has been closed, you may ask us to reopen the issue. Duplicate issues will be closed automatically.
3. Make sure that you are using the latest stable version of Select2 (see the [release history](https://github.com/select2/select2/releases)). Old minor/patch versions will not be supported.
4. State the steps needed to reproduce the problem.
5. Report any errors in detail. Vague issues like "it doesn't work when I do this" are not helpful. Show that you have put some effort into identifying the cause of the error. Check your [browser console](https://learn.userfrosting.com/troubleshooting/debugging#client-side-debugging) for any Javascript error messages.
6. Mention your version of Select2, as well as the browser(s) and operating system(s) in which the problem occurs.
Requesting features in Select2
------------------------------
Select2 is a large library that carries with it a lot of functionality. Because
of this, many feature requests will not be implemented in the core library.
Before starting work on a major feature for Select2, **post to the [forums](https://forums.select2.org) first** or you may risk spending a considerable amount of
time on something which the project developers are not interested in bringing
into the project.
# Contributing to Select2
Select2 is made up of multiple submodules that all come together to make the
standard and extended builds that are available to users. The build system uses
Node.js to manage and compile the submodules, all of which is done using the
Grunt build system.
### Installing development dependencies
Select2 can be built and developed on any system which supports Node.js. You can download Node.js at
[their website][nodejs].
All other required Node.js packages can be installed using [npm][npm], which comes bundled alongside Node.js.
```bash
cd /path/to/select2/repo
npm install
```
You may need to install `libsass` on your system if it is not already available in order to build the SASS files which generate the CSS for themes and the main component.
### Building the Select2 component
Select2 uses the [Grunt][grunt] build task system and defines a few custom
tasks for common routines. One of them is the `compile` task, which compiles
the JavaScript and CSS and produces the final files.
```bash
cd /path/to/select2/repo
grunt compile
```
You can also generate the minified versions (`.min.js` files) by executing the
`minify` task after compiling.
```bash
cd /path/to/select2/repo
grunt minify
```
### Running tests
Select2 uses the QUnit test system to test individual components.
```bash
cd /path/to/selct2/repo
grunt test
```
### Setting up the documentation repo
The documentation for Select2 is maintained in a [separate repository](https://github.com/select2/docs). Select2.org is built with the flat-file CMS [Grav](http://getgrav.org), using their [RTFM skeleton](https://github.com/getgrav/grav-skeleton-rtfm-site#rtfm-skeleton).
The documentation files themselves are written in Markdown, and can be found in the `pages/` subdirectory. You can submit pull requests to the `develop` branch of the repo.
If you'd like to set up a local instance of the entire documentation website, you must first have a web server (Nginx, Apache, etc) and PHP installed locally. Then, follow these steps:
#### Step 1 - Install Grav
This application uses the [Grav](https://learn.getgrav.org/) CMS. This repository does not contain a full Grav installation - rather, it just contains the contents of Grav's `user` directory, which is where all of our content, themes, and assets live. This was done as per the [recommendation on Grav's blog](https://getgrav.org/blog/developing-with-github-part-2), to make it easier to deploy changes to the live server.
To install this website on your computer, first [install grav core](https://getgrav.org/downloads) in a project folder called `select2-docs` under your webserver's document root folder. Then, find the `user` folder inside of your project folder. Delete the contents of the `user` folder and clone this repository directly into the user folder.
When you're done it might look something like this:
```
htdocs/
└── select2-docs/
├── assets/
├── ...
├── user/
├── .git
├── accounts/
├── assets/
├── config/
└── ...
└── ...
```
#### Step 2
Grav needs your webserver to be able to write to certain directories. Make sure that `backup/`, `cache/`, `images/`, `logs/`, and `tmp/` are all writeable by the user account under which your webserver runs.
#### Step 3
Visit the local installation in your browser! For example, [http://localhost/select2-docs](http://localhost/select2-docs).
### Submitting a pull request
We use GitHub's pull request system for submitting patches. Here are some
guidelines to follow when creating the pull request for your fix.
1. Make sure to create a ticket for your pull request. This will serve as the
bug ticket, and any discussion about the bug will take place there. Your pull
request will be focused on the specific changes that fix the bug.
2. Make sure to reference the ticket you are fixing within your pull request.
This will allow us to close off the ticket once we merge the pull request, or
follow up on the ticket if there are any related blocking issues.
3. Explain why the specific change was made. Not everyone who is reviewing your
pull request will be familiar with the problem it is fixing.
4. Run your tests first. If your tests aren't passing, the pull request won't
be able to be merged. If you're breaking existing tests, make sure that you
aren't causing any breaking changes.
5. Only include source changes (`src/`). Do not make changes directly to files in the `dist`
directory.
By following these steps, you will make it easier for your pull request to be
reviewed and eventually merged.
Triaging issues and pull requests
---------------------------------
Anyone can help the project maintainers triage issues and review pull requests.
### Handling new issues
Select2 regularly receives new issues which need to be tested and organized.
When a new issue that comes in that is similar to another existing issue, it
should be checked to make sure it is not a duplicate. Duplicates issues should
be marked by replying to the issue with "Duplicate of #[issue number]" where
`[issue number]` is the url or issue number for the existing issue. This will
allow the project maintainers to quickly close off additional issues and keep
the discussion focused within a single issue.
If you can test issues that are reported to Select2 that contain test cases and
confirm under what conditions bugs happen, that will allow others to identify
what causes a bug quicker.
### Reviewing pull requests
It is very common for pull requests to be opened for issues that contain a clear
solution to the problem. These pull requests should be rigorously reviewed by
the community before being accepted. If you are not sure about a piece of
submitted code, or know of a better way to do something, do not hesitate to make
a comment on the pull request.
### Reviving old tickets
If you come across tickets which have not been updated for a while, you are encouraged to revive them. If you do, please include more information in your comment on the issue. Common bugs and feature requests are more likely to be fixed, whether it is by the community or the
developers, so keeping tickets up to date is encouraged.
Licensing
---------
It should also be made clear that **all code contributed to Select** must be
licensable under the [MIT license][licensing]. Code that cannot be released
under this license **cannot be accepted** into the project.
[grunt]: http://gruntjs.com/
[isolated-case]: http://css-tricks.com/6263-reduced-test-cases/
[issue-search]: https://github.com/select2/select2/search?q=&type=Issues
[issue-tracker]: https://github.com/select2/select2/issues
[licensing]: https://github.com/select2/select2/blob/master/LICENSE.md
[nodejs]: https://nodejs.org/
[npm]: https://www.npmjs.com/

2
.github/FUNDING.yml vendored Normal file
View file

@ -0,0 +1,2 @@
github: kevin-brown
open_collective: select2

20
.github/ISSUE_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,20 @@
STOP!
Before you open an issue:
1. Make sure that your issue is a BUG or FEATURE REQUEST. General usage and troubleshooting questions should be directed to the [forums](https://forums.select2.org) or [Stack Overflow](https://stackoverflow.com/questions/tagged/jquery-select2). Issues asking for general support WILL BE CLOSED automatically.
2. Search the current issues, both open and closed, for a similar issue. If the bug is still present but the relevant issue has been closed, you may ask us to reopen the issue. Duplicate issues will be closed automatically.
3. Make sure that you are using the latest stable version of Select2 (see the [release history](https://github.com/select2/select2/releases)). Old minor/patch versions will not be supported.
If you are CERTAIN that it is appropriate to open a new issue, you must:
1. Create and link to a [minimal, complete, and verifiable](https://stackoverflow.com/help/mcve) example by cloning our [JSBin template](http://jsbin.com/goqagokoye/edit?html,js,output). Code dumps, zip files, etc are NOT acceptable.
2. Any additional code snippets should be formatted using [Markdown code fences](https://learn.userfrosting.com/troubleshooting/getting-help#use-markdown-to-format-blocks-of-code) and properly indented. Poorly formatted code is difficult to read and reflects badly on you as a programmer.
3. Include relevant screenshots or animations, if possible. Drag your screenshots directly into this text box. They will automatically be uploaded and the Markdown to display them will be generated. Avoid third-party image hosts, or links which require extra clicks to view the image.
4. If you are not conversationally proficient in English, do NOT just post a machine translation (e.g. Google Translate) to GitHub. Get help in crafting your question, either via the [forums](https://forums.select2.org) or in [chat](https://webchat.freenode.net/?channels=select2). If all else fails, you may post your bug report or feature request in your native language, with a machine translation below that. We will tag it with `translation-needed` so that others who speak your language can find it.
5. State the steps needed to reproduce the problem.
6. Mention your version of Select2, as well as the browser(s) and operating system(s) in which the problem occurs.
7. Clear out this placeholder text.
Issues that ignore these rules will be closed without further comment!

13
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,13 @@
This pull request includes a
- [ ] Bug fix
- [ ] New feature
- [ ] Translation
The following changes were made
-
-
-
If this is related to an existing ticket, include a link to it as well.

14
.github/stale.yml vendored Normal file
View file

@ -0,0 +1,14 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
# Label to use when marking an issue as stale
staleLabel: "status: stale"
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

24
.github/workflows/docs-deploy.yml vendored Normal file
View file

@ -0,0 +1,24 @@
name: Documentation Deployment
on: release
jobs:
grav:
name: Deploy Grav
runs-on: ubuntu-latest
steps:
- uses: maddox/actions/sleep@master
with:
args: "60"
- uses: actions/checkout@v1
- name: Copy to documentation server
uses: maxheld83/rsync@v0.1.0
env:
USERNAME: ${{ secrets.DOCUMENTATION_SSH_USERNAME }}
SSH_PRIVATE_KEY: ${{ secrets.DOCUMENTATION_SSH_KEY }}
HOST_NAME: ${{ secrets.DOCUMENTATION_SSH_HOST }}
SSH_PUBLIC_KEY: not-needed
HOST_IP: not-needed
HOST_FINGERPRINT: not-needed
with:
args: "docs/ $USERNAME@$HOST_NAME:/var/www/select2-docs/user/"

44
.github/workflows/main.yml vendored Normal file
View file

@ -0,0 +1,44 @@
name: CI
on: [push, pull_request]
jobs:
linting:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 8
uses: actions/setup-node@v1
with:
node-version: 8
- name: npm install
run: npm install
- name: Run linting
run: grunt compile lint
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 8
uses: actions/setup-node@v1
with:
node-version: 8
- name: npm install
run: npm install
- name: Run tests
run: grunt compile test
minification:
name: Minification
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 8
uses: actions/setup-node@v1
with:
node-version: 8
- name: npm install
run: npm install
- name: Run minification
run: grunt compile minify

57
.github/workflows/package-deploy.yml vendored Normal file
View file

@ -0,0 +1,57 @@
name: Package Deployment
on:
push:
branches:
- develop
- master
release: ~
jobs:
deploy_github:
name: GitHub Package Registry
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 8
uses: actions/setup-node@v1
with:
node-version: 8
registry-url: https://npm.pkg.github.com/
scope: '@select2'
- name: Rename package to include private scope
run: "sed -i -e 's#\"name\": \"select2\"#\"name\": \"@select2/select2\"#' package.json"
- name: npm install
run: npm install
- name: Run linting, tests, minify
run: grunt
- name: Deploy (release)
if: github.event_name == 'release'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Deploy (release candidate)
if: github.event_name == 'push'
run: 'sed -i -E "s/\"version\": \"(.+)\",/\"version\": \"\1-commit-$GITHUB_SHA\",/" package.json && npm publish --tag next'
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
GITHUB_SHA: ${{github.sha}}
deploy_npm:
name: NPM
if: github.event_name == 'release'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 8
uses: actions/setup-node@v1
with:
node-version: 8
registry-url: 'https://registry.npmjs.org'
- name: npm install
run: npm install
- name: Run linting, tests, minify
run: grunt
- name: Deploy (release)
run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

5
.gitignore vendored
View file

@ -1,2 +1,3 @@
.idea
node_modules
dist/js/i18n/build.txt
.sass-cache

4
.jshintignore Normal file
View file

@ -0,0 +1,4 @@
src/js/banner.*.js
src/js/wrapper.*.js
tests/vendor/*.js
tests/helpers.js

25
.jshintrc Normal file
View file

@ -0,0 +1,25 @@
{
"bitwise": true,
"camelcase": true,
"curly": true,
"es3": true,
"eqnull": true,
"freeze": true,
"globals": {
"console": false,
"define": false,
"document": false,
"MockContainer": false,
"module": false,
"QUnit": false,
"require": false,
"test": false,
"window": false
},
"indent": 2,
"maxlen": 80,
"noarg": true,
"nonew": true,
"quotmark": "single",
"undef": true
}

407
CHANGELOG.md Normal file
View file

@ -0,0 +1,407 @@
# Change Log
## 4.0.12
### Bug fixes
* Fixes incorrect offset when using the Shadow DOM and styling the `<html>` element (#5682)
### Miscellaneous
* Replace cdnjs with jsDelivr in the documentation (#5687)
* Fix incorrect provider for the automated NPM deployment (#5686)
## 4.0.11
### Bug fixes
* Fixes jQuery migrate error when getting offset when dropdownParent not in document (#5584)
### Miscellaneous
* Enable GitHub actions for CI (#5591)
* Documentation has been moved into and is deployed from the code repository (#5638)
* Remove Travis CI integration (#5665)
## 4.0.10
### New features / improvements
* Support passing in a selector for `dropdownParent` option (#5622)
### Bug fixes
* Fix bug where dropdowns pointing upwards were incorrectly positioned (#5621)
## 4.0.9
### New features / improvements
* Mirror disabled state through aria-disabled on selection (#5579)
* Select2 now clears the internal ID when it is destroyed (#5587)
* Set the main ARIA 1.1 roles and properties for comboboxes (#5582)
* The `language` option now has a clearly defined fallback chain (#5602)
### Bug fixes
* Do not propagate click when search box is not empty (#5580)
* Fix `maximumSelectionLength` being ignored by `closeOnSelect` (#5581)
* Fix generated options not receiving result IDs (#5586)
* Remove selection title attribute if text is empty (#5589)
* Reposition dropdown whenever items are selected (#5590)
* Fix dropdown positioning when displayed above with messages (#5592)
* Fix search box expanding width of container (#5595)
* `allowClear` no longer shifts selections to a new line (#5603)
### Translations
* Fix error in German translations (#5604)
### Miscellaneous
* Updated development grunt version so it no longer shows as vulnerable (#5597)
* Remove unused variables (#5554)
## 4.0.8
### New features / improvements
* Test against and fix compatibility with jQuery 3.4.1 (#5531)
* Results respect disabled state of `<option>` (#5560)
* Add `computedstyle` option for calculating the width (#5559)
### Bug fixes
* Fix tag creation being broken in 4.0.7 (#5558)
* Fix infinite scroll when the scrollbar is not visible (#5575)
* Revert change to focusing behaviour in 4.0.6 (#5576)
### Translations
* Fix wording in French translations (#5521)
### Miscellaneous
* Update grunt-contrib-qunit to latest version (#5530)
* Removed unused `.select2-selection__placeholder` CSS definitions for multiple selects (#5508)
* Remove deprecated jQuery shorthand (#5564)
## 4.0.7
### New features/improvements
- Do not close on select if Ctrl or Meta (Cmd) keys being held (#5222)
### Bug fixes
- Fixed issue where single select boxes would automatically reopen when they were closed (#5490, #5492)
### Miscellaneous
- Move almost and jquery-mousewheel to devDependencies (#5489)
## 4.0.6
### New features/improvements
- Add style property to package.json (#5019)
- Implement `clear` and `clearing` events (#5058)
- Add `scrollAfterSelect` option (#5150)
- Add missing diacritics (#4118, #4337, #5464)
### Bug fixes
- Fix up arrow error when there are no options in dropdown (#5127)
- Add `;` before beginning of factory wrapper (#5089)
- Fix IE11 issue with select losing focus after selecting an item (#4860)
- Clear tooltip from `select2-selection__rendered` when selection is cleared (#4640, #4746)
- Fix keyboard not closing when closing dropdown on iOS 10 (#4680)
- User-defined types not normalized properly when passed in as data (#4632)
- Perform deep merge for `Defaults.set()` (#4364)
- Fix "the results could not be loaded" displaying during AJAX request (#4356)
- Cache objects in `Utils.__cache` instead of using `$.data` (#4346, #5486)
- Removing the double event binding registration of `selection:update` (#4306)
#### Accessibility
- Improve `.select2-hidden-accessible` (#4908)
- Add role and aria-readonly attributes to single selection dropdown value (#4881)
### Translations
- Add Turkmen translations (`tk`) (#5125)
- Fix error in French translations (#5122)
- Add Albanian translation (`sq`) (#5199)
- Add Georgian translation (`ka`) (#5179)
- Add Nepali translation (`ne`) (#5295)
- Add Bangla translation (`bn`) (#5248)
- Add `removeAllItems` translation for clear "x" title (#5291)
- Fix wording in Vietnamese translations (#5387)
- Fix error in Russian translation (#5401)
### Miscellaneous
- Remove duplicate CSS selector in classic theme (#5115)
## 4.0.5
### Bug fixes
- Replace `autocapitalize=off` with `autocapitalize=none` (#4994)
### Translations
- Vietnamese: remove an unnecessary quote mark (#5059)
- Czech: Add missing commas and periods (#5052)
- Spanish: Update the 'errorLoading' message (#5032)
- Fix typo in Romanian (#5005)
- Improve French translation (#4988)
- Add Pashto translation (`ps`) (#4960)
- Add translations for lower and upper Sorbian (`dsb` and `hsb`) (#4949)
- Updates to Slovak (#4915)
- Fixed Norwegian `inputTooShort` message (#4817, 4896)
- Add Afrikaans translation (`af`) (#4850)
- Add Bosnian translation (`bs`) (#4504)
## 4.0.4
### New features / Improvements
- Make tag matching case insensitive [https://github.com/select2/select2/commit/cb9a90457867ffb14c7b1550bb67e872e0a5c2dd, https://github.com/select2/select2/commit/1167bace78cd3b1a918c1b04f3bac54674eab62b]
- Support selecting options with blank or `0` option values [https://github.com/select2/select2/commit/16b4840c0e2df0461998e3b464ee0a546173950d, https://github.com/select2/select2/commit/0358ee528765157234643d289bce6b8ca5889c72]
### Bug fixes
- Fix issue with entire form losing focus when tabbing away from a Select2 control (#4419)
- Fix UMD support for CommonJS [https://github.com/select2/select2/commit/45a877345482956021161203ac789c25f40a7d5e]
### Documentation
- Github Pages documentation has been deprecated, replaced with https://github.com/select2/docs
- Add django-autocomplete-light to integrations [https://github.com/select2/select2/pull/4597]
- Correct typo in options page [https://github.com/select2/select2/pull/4389]
- Correct misspelling in AJAX query parameters example [https://github.com/select2/select2/pull/4435]
- "highlight" should be "focus" in focus example [https://github.com/select2/select2/pull/4441]
- Correct misspelling in `<select>` serialization example [https://github.com/select2/select2/pull/4538]
- Correct typos in documentation [https://github.com/select2/select2/pull/4663]
### Translations
- Add `errorLoading` Hungarian translation [https://github.com/select2/select2/commit/7d1d13352321e21670ff1c6cba7413aa264fd57a]
- Add `errorLoading` German translation [https://github.com/select2/select2/commit/4df965219ea4c39147fde9335bc260840465933a]
- Add Slovene language [https://github.com/select2/select2/commit/8e6422c570a87da8d89c45daf0d253695a943c84]
- Add `errorLoading` Galician translation [https://github.com/select2/select2/commit/8fcc6202c37f4e06d951342bf142a3b906b6b8e3]
- Add `errorLoading` Thai translation [https://github.com/select2/select2/commit/625fc78ee616baedf64aa37357403b4b72c7363c]
- Add `searching` and `errorLoading` Finnish translations [https://github.com/select2/select2/pull/4730]
- Add `errorLoading` Turkish translation [https://github.com/select2/select2/commit/fd4a0825315c7055347726d5818c999279f96ff8, https://github.com/select2/select2/commit/751b36767f9f28b9de9428d5e8035c9a404915d9]
- Add Armenian language [https://github.com/select2/select2/commit/f6fa52dcc02341df1523f50348f2effc54ee2911]
## 4.0.3
This is the third bugfix release of Select2 4.0.0. It builds upon the [second bugfix release](https://github.com/select2/select2/releases/tag/4.0.2) and fixes many common issues.
### New features / Improvements
- The old `dropdownAutoWidth` option now properly works [https://github.com/select2/select2/commit/fe26b083eb830836061de1458e483782cefef424]
- A `focus` event on the original `<select>` is now handled [https://github.com/select2/select2/commit/31e7a1d4c52ed7477769fcad5d15166ae3c9b4d0]
- Adding and removing options now refreshes the selection automatically [https://github.com/select2/select2/commit/ea79a197e0ffe55aa600eed6d18cbd1c804c3176]
### Bug fixes
- `select2('option')` no longer mutate the arguments when working on multiple elements [https://github.com/select2/select2/commit/c2c1aeef31c95c6df5545c900a4e1782d712497c]
- Better detect aborted requests [https://github.com/select2/select2/commit/cfb66f5e4f71a56c46a6890c5dde4b7f24f11fa8]
- New options are now properly created during tokenization [https://github.com/select2/select2/commit/3b8cd2e36990e695e4cb4b966c8658e7ca1574dc]
- Fix positioning bug with non-static parents for the dropdown [https://github.com/select2/select2/pull/4267]
- Infinite scrolling no longer resets the keyboard focus [https://github.com/select2/select2/commit/e897d008a672da262ba84cee2a144578696ada29, https://github.com/select2/select2/commit/9f581285d88128b29a01fc1e5fd2d445d610b553]
- `selectOnClose` now works properly with `closeOnSelect` [https://github.com/select2/select2/commit/481c43883e23874e9c35879d173eb8cc5b994b12]
- Apply `ajax.delay` to empty search terms as well [https://github.com/select2/select2/commit/4b9e02f02211248be25ac4c16d4635cf38237bb9]
### Documentation
- Added example for attaching event listeners [https://github.com/select2/select2/commit/84d6b5d840f7f4e6b7a2fb3f08424bf5495c876d]
- Correct link to the [Select2 Bootstrap Theme](https://github.com/select2/select2-bootstrap-theme) [https://github.com/select2/select2/pull/4318]
- Added example for using a `<label>` [https://github.com/select2/select2/commit/3bc7f4ac78b58eff8cd17b3273596638c3c9c5c1]
- Add documentation for `ajax.url` [https://github.com/select2/select2/commit/5a831afb9a7d46e8f20aec21164cfbfd182024de]
- Added favicon [https://github.com/select2/select2/pull/4379]
### Translations
- Add Khmer translation [https://github.com/select2/select2/pull/4246]
- Added Norwegian bokmaal for `errorLoading` [https://github.com/select2/select2/pull/4259]
- Fixed pluralization in Lithuanian translation [https://github.com/select2/select2/commit/5b5eddd183c87bf43165b3a98e03eabe10e9fa58]
- Add French translation for `errorLoading` [https://github.com/select2/select2/commit/b1ea28bb7d8c02b3b352f558031ccfc8041122eb]
- Add Greek translation [https://github.com/select2/select2/pull/4139]
## 4.0.2
This is the second bugfix release of Select2 4.0.0. It builds upon the [first release candidate of Select2 4.0.2](https://github.com/select2/select2/releases/tag/4.0.2-rc.1) with some minor improvements.
### New features / Improvements
- Added `insertTag` option to control the placement of the `tags` option [https://github.com/select2/select2/pull/4008]
- Added handler for AJAX errors [https://github.com/select2/select2/issues/3501]
- Added insertTag to control the tag position [https://github.com/select2/select2/pull/4008]
### Bug fixes
- Fixed positioning issues with static dropdown parents [https://github.com/select2/select2/issues/3970]
- Fixed existing selections not always being respected with array data [https://github.com/select2/select2/issues/3990]
- Sanitize automatically generated ids so CSS identifiers can be used [https://github.com/select2/select2/issues/3618]
- Recursively apply defaults so AJAX defaults can be set [https://github.com/select2/select2/commit/983cd8e765c5345bfe7d3bdcc3b0c882a35461ca]
- No need to recalculate the top of the dropdown twice [https://github.com/select2/select2/pull/4155]
### Documentation
- Updated Bootstrap and Font Awesome dependencies [https://github.com/select2/select2/commit/a5e539b509778eabeb8ce79e191b3ee1e81f6deb, https://github.com/select2/select2/commit/81a4a68b113e0d3e0fb1d0f8b1c33ae1b48ba04f, https://github.com/select2/select2/commit/6369f5f173fb81ec692213782945cc737e248da5]
- Use Jekyll's highlighting instead of prettify [https://github.com/select2/select2/commit/54441e6a22be3969dd934ccb769f5d7dde684bfb, https://github.com/select2/select2/commit/74387b98632c75b06d15d83ad5359b9daf0f5dcb, https://github.com/select2/select2/commit/a126b53b4c90fac33b5d855894647cd8bcac3558, https://github.com/select2/select2/commit/75163d67cb80e4279965a97e9eeda5b171806085]
- Corrected responsive width example to properly show it working [https://github.com/select2/select2/commit/63d531a9c0ab51f05327492a56f3245777762b45]
- Replaced protocol-relative URLs with HTTPS protocol [https://github.com/select2/select2/pull/4127]
- Code snippets for mapping `id` and `text` [https://github.com/select2/select2/issues/4086]
- Document how to trigger `change` just for Select2 [https://github.com/select2/select2/issues/3620]
- Added notes about DOM events [https://github.com/select2/select2/commit/37dbe059fce4578b46b7561e6243b7fdc63ac002]
### Translations
- Correct Romanian translation [https://github.com/select2/select2/commit/72d905f9e026d49e7c600f37a1ce742c404654d7]
## 4.0.1
This is the first bugfix release of Select2 4.0.0. It builds upon the [first release candidate of Select2 4.0.1](https://github.com/select2/select2/releases/tag/4.0.1-rc.1) with some minor improvements.
### New features / improvements
- The option container is now passed in as the second argument when templating selections using `templateResult` [https://github.com/select2/select2/commit/dc516e7073605723be59bc727b96a3b3dea1ae5a]
- The option container is now passed in as the second argument when templating selections using `templateSelection` [https://github.com/select2/select2/pull/3324]
- You can immediately start typing to search when tabbing into a multiple select [https://github.com/select2/select2/commit/02cca7baa7b78e73cdcf393172ee3a54be387167, https://github.com/select2/select2/commit/79cdcc0956e242c1ce642bbaa93e538c54f4be0]
- All parameters passed in for AJAX requests are now set as query string parameters by default [https://github.com/select2/select2/issues/3548]
### Bug fixes
- The search box will now be properly sized after removing a selection [https://github.com/select2/select2/commit/5f80c5d9f81f3c5398c3e6e3e84fd6c67c8873f1]
- Dropdown results will now be spoken by screen readers [https://github.com/select2/select2/commit/9fae3d74e373fc646da4e39a0c2ab11efa808c3f]
- Options are now properly cloned when initializing multiple instances at once [https://github.com/select2/select2/commit/3c8366e8769233a6b20ade934fe629279e7be6ff]
- `selectOnClose` and now be used with `closeOnSelect` without getting a stack overflow [https://github.com/select2/select2/commit/393ca4cf7f7f7097d3a994bda3dbf195e945eba1]
- Fixed positioning with non-static parents [https://github.com/select2/select2/commit/c9216b4b966653dd63a67e815b47899ef5325298]
- Fixed bug where multiple selects with placeholders were buggy in IE [https://github.com/select2/select2/issues/3300]
- Fixed bug where AJAX selects could not be initialized with array data [https://github.com/select2/select2/pull/3375]
- `:all:` is now correctly removed when used in `containerCss` and `dropdownCss` options [https://github.com/select2/select2/pull/3464]
- Fixed bug where the multiple select search box would appear on the left in RTL mode [https://github.com/select2/select2/pull/3502]
- Change ALT + UP to close the dropdown instead of opening it [https://github.com/select2/select2/commit/d2346cc33186c2a00fa2dad29e8e559c42bfea00]
- Fix focus issue with the multiple select search box when the `change` event was triggered [https://github.com/select2/select2/commit/698fe7b9e187e182f679aa679eb8b0ecb64a846b, https://github.com/select2/select2/commit/88503d2c67dc7f4fb9395a17f17edfe4948cf738, https://github.com/select2/select2/commit/dd2990adead92593a2dffff6ae004ea8b647d130]
- Fix bug in `ArrayAdapter` where the existing `<option>` data would be used instead of the array data [https://github.com/select2/select2/pull/3565]
- Remove random call to `$dropdownContainer.width()` in the `AttachBody` decorator [https://github.com/select2/select2/pull/3654]
- Fix memory leak in `AttachBody` decorator [https://github.com/select2/select2/commit/671f5a2ce21005090e0b69059799cd3dd1fbbf84]
- Selections can no longer be removed when Select2 is in a disabled state [https://github.com/select2/select2/commit/68d068f1d2c7722d011d285a291d1f974bf09772, https://github.com/select2/select2/commit/7d8f86cbf85ebd2179195ff6a2a7a1c5dcb9da58]
- Remove redundant `open` event trigger [https://github.com/select2/select2/pull/3507]
- Correct references to `this` in `ajax.data` and `ajax.url` callback functions [https://github.com/select2/select2/issues/3361]
- Apply select2('option') calls on all elements [https://github.com/select2/select2/pull/3495]
### Design
- Fixed original `<select>` not always being hidden correctly in some cases [https://github.com/select2/select2/pull/3301]
- Fix potential issue with Bootstrap's gradients in Internet Explorer [https://github.com/select2/select2/pull/3307]
- Improve compatibility with Zurb Foundation [https://github.com/select2/select2/pull/3290]
- Remove padding on mobile safari search field in multiple selects [https://github.com/select2/select2/pull/3605]
- Fix the clear button appearing beneath long text [https://github.com/select2/select2/issues/3306]
- Migrate the CSS classes for the "Loading more results" message to BEM [https://github.com/select2/select2/issues/3889]
- Fix inline search not displaying properly in Safari [https://github.com/select2/select2/issues/3459]
### Documentation
- New documentation theme designed by @fk [https://github.com/select2/select2/pull/3376, https://github.com/select2/select2/pull/3467, https://github.com/select2/select2/pull/3488]
- Update ajax example to reflect pagination [https://github.com/select2/select2/pull/3357]
- Fix incorrect option name in `maxiumSelectionLength` example [https://github.com/select2/select2/pull/3454]
- Fix typos in the disabled mode/results examples [https://github.com/select2/select2/pull/3665]
- Fix `Option` parameters in the 4.0 announcement [https://github.com/select2/select2/pull/3547]
- Fix invalid JSON in the tags example within the 4.0 announcement [https://github.com/select2/select2/pull/3637]
### Translations
- Added Cyrillic variant of the Serbian language [https://github.com/select2/select2/pull/3943]
- Corrected Thai "no results found" translation [https://github.com/select2/select2/pull/3782]
- Swapped the `inputTooLong` and `inputTooShort` messages in the Galician translation [https://github.com/select2/select2/pull/3291]
- Fix improper grammar in Dutch translation [https://github.com/select2/select2/pull/3692]
- Add Japanese translation [https://github.com/select2/select2/pull/3477]
- Polish translation: Fixed typo in maximum selected message [https://github.com/select2/select2/pull/3587]
- Add Malay translation [https://github.com/select2/select2/pull/3635]
- Add `errorLoading` for Indonesian translation [https://github.com/select2/select2/pull/3635]
- Correct grammar issues in Hebrew translation [https://github.com/select2/select2/pull/3911]
- Add `errorLoading` for Danish translation [https://github.com/select2/select2/pull/3870]
- Add Arabic translation [https://github.com/select2/select2/pull/3859]
## 4.0.0
This builds upon [the second release candidate](https://github.com/select2/select2/tree/4.0.0-rc.2), **so review all previous release notes** before upgrading from previous versions of Select2.
### Supported environments
- jQuery 1.7.2+
- Modern browsers (Chrome, Firefox, Safari)
- Internet Explorer 8+
### New features
- Fully compatible with AMD and UMD based loaders.
- Advanced plugin system that [uses custom adapters](https://select2.org/advanced/adapters-and-decorators).
- Full support for `jQuery.noConflict`.
- A `<select>` is the recommended element and [can be used for all options](https://select2.org/upgrading/migrating-from-35#no-more-hidden-input-tags). There is limited backwards-compatible support for the `<input>` element in [full builds](https://select2.org/getting-started/builds-and-modules).
- [Declarative configuration through `data-*` attributes](https://select2.org/configuration/data-attributes)
- Easy to configure theme system and new default theme
- You can use more specific locales (like `en-US`) and Select2 will be able to determine what translation files to load.
### Breaking changes
- Select2 now uses the MIT license
- [The full build](https://select2.org/getting-started/builds-and-modules) of Select2 no longer includes jQuery - You must include jQuery separately on your page.
- Select2 will prevent the inner scrolling of modals (and other scrollable containers) when it is open to prevent the UI from breaking. [Read more at the commit.](https://github.com/select2/select2/commit/003d6053a9fff587c688008397e7d5824463fe99)
- jQuery is no longer listed as a dependency in the `bower.json`/`component.json` files.
- [`<select>` has replaced `<input type="hidden" />`](https://select2.org/upgrading/migrating-from-35#no-more-hidden-input-tags) for **all options** (_including remote data_)
- The [`matcher` has been revamped](https://select2.org/upgrading/migrating-from-35#advanced-matching-of-searches) to include full context, a compatibility module (`select2/compat/matcher`) has been created
- The [display always reflects the order](https://select2.org/upgrading/migrating-from-35#display-reflects-the-actual-order-of-the-values) data is sent to the server
- The click mask is no longer the default (again). You can get back the old functionality by wrapping your `selectionAdapter` with the `ClickMask` (`select2/selection/clickMask`) decorator.
- Select2 no longer stops the propagation of events happening within the dropdown and selection. You can use the `StopPropagation` modules available in the [full builds](https://select2.org/getting-started/builds-and-modules) to prevent this. [https://github.com/select2/select2/commit/8f8140e3b00c5d5bb232455137c4c633d7da4275]
- The enter key no longer toggles the state of multiple select items in the results, but instead will only select them. Use CTRL + Space instead to toggle the state. [https://github.com/select2/select2/commit/017c20109471fa5b835603faf5dc37f7c2c2ea45]
- Warnings will now be triggered in the developer console if Select2 detects an unsupported configuration.
#### Options
- The default value of the `width` option has been changed from `style` to `resolve`.
- The `copy` value for the `width` option has been renamed to `style`.
##### Renamed
- `formatSelection` -> `templateSelection`
- `formatResult` -> `templateResult`
- `sortResults` -> `sorter`
- `createSearchChoice` -> `createTag`
- `selectOnBlur` -> `selectOnClose`
- `ajax.jsonpCallback` -> `ajax.jsonp`
- `ajax.results` -> `ajax.processResults`
- `tags: [array,of,data]` -> `data: [array,of,data], tags: true`
- `placeholderOption` has been replaced by `placeholder.id` (`placeholder` -> `placeholder.text`)
##### [Internationalization](https://select2.org/i18n)
- `formatNoMatches` -> `language.noMatches`
- `formatSearching` -> `language.searching`
- `formatInputTooShort` -> `language.inputTooShort`
- `formatInputTooLong` -> `language.inputTooLong`
- `formatAjaxError` -> `language.errorLoading`
- `formatLoading` -> `language.loadingMore`
- `formatSelectionTooBig` -> `language.maximumSelected`
##### Deprecated/Removed
- `initSelection` - This is [no longer needed](https://select2.org/upgrading/migrating-from-35#removed-the-requirement-of-initselection) with `<select>` tags. Limited backwards compatibility in the [full build](https://select2.org/getting-started/builds-and-modules).
- `id` - Data objects should now always have `id` and `text` attributes that are strings, use [`$.map`](https://api.jquery.com/jquery.map/) when migrating
- `query` - Use a [custom data adapter](https://select2.org/upgrading/migrating-from-35#custom-data-adapters-instead-of-query) instead. Limited backwards compatibility in the [full build](https://select2.org/getting-started/builds-and-modules).
- `ajax.params` - All parameters passed to `ajax` will be passed to the AJAX data transport function
#### Methods
##### Renamed
- `.select2("val", [value])` -> `.val([value])`
- `.select2("enable", !disabled)` -> `.prop("disabled", disabled)`
##### Removed
- `.select2("onSortStart")` and `.select2("onSortEnd")` - A custom [selection adapter](https://select2.org/advanced/default-adapters/selection) should be created instead
- `.select2("data", data)` - Create the `<option>` tags for the objects that you would like to set, and set the `.val` to select them
- `.select2("readonly")` - There is [no way to make a `<select>` element read-only](http://stackoverflow.com/q/368813/359284), disable it instead
#### Events
##### New
- `select2:closing` is triggered before the dropdown is closed
- `select2:select` is triggered when an option is selected
##### Renamed
- `select2-close` is now `select2:close`
- `select2-open` is now `select2:open`
- `select2-opening` is now `select2:opening`
- `select2-selecting` is now `select2:selecting`
- `select2-removed` is now `select2:unselect`
- `select2-removing` is now `select2:unselecting`
##### Removed
- `select2-clearing` has been removed in favor of `select2:unselecting`
- `select2-highlight`
- `select2-loaded`
- `select2-focus` - Use the native `focus` event instead
- `select2-blur` - Use the native `blur` event instead
- All extra properties from the `change` event were removed
- `val` can be retrieved with `$element.val()` instead
- `added` can be retrieved by listening to `select2:select`
- `removed` can be retrieved by listening to `select2:unselect`

263
Gruntfile.js Normal file
View file

@ -0,0 +1,263 @@
const sass = require('node-sass');
module.exports = function (grunt) {
// Full list of files that must be included by RequireJS
includes = [
'jquery.select2',
'almond',
'jquery-mousewheel' // shimmed for non-full builds
];
fullIncludes = [
'jquery',
'select2/compat/containerCss',
'select2/compat/dropdownCss',
'select2/compat/initSelection',
'select2/compat/inputData',
'select2/compat/matcher',
'select2/compat/query',
'select2/dropdown/attachContainer',
'select2/dropdown/stopPropagation',
'select2/selection/stopPropagation'
].concat(includes);
var i18nModules = [];
var i18nPaths = {};
var i18nFiles = grunt.file.expand({
cwd: 'src/js'
}, 'select2/i18n/*.js');
var testFiles = grunt.file.expand('tests/**/*.html');
var testUrls = testFiles.map(function (filePath) {
return 'http://localhost:9999/' + filePath;
});
var testBuildNumber = "unknown";
if (process.env.TRAVIS_JOB_ID) {
testBuildNumber = "travis-" + process.env.TRAVIS_JOB_ID;
} else {
var currentTime = new Date();
testBuildNumber = "manual-" + currentTime.getTime();
}
for (var i = 0; i < i18nFiles.length; i++) {
var file = i18nFiles[i];
var name = file.split('.')[0];
i18nModules.push({
name: name
});
i18nPaths[name] = '../../' + name;
}
var minifiedBanner = '/*! Select2 <%= package.version %> | https://github.com/select2/select2/blob/master/LICENSE.md */';
grunt.initConfig({
package: grunt.file.readJSON('package.json'),
concat: {
'dist': {
options: {
banner: grunt.file.read('src/js/wrapper.start.js'),
},
src: [
'dist/js/select2.js',
'src/js/wrapper.end.js'
],
dest: 'dist/js/select2.js'
},
'dist.full': {
options: {
banner: grunt.file.read('src/js/wrapper.start.js'),
},
src: [
'dist/js/select2.full.js',
'src/js/wrapper.end.js'
],
dest: 'dist/js/select2.full.js'
}
},
connect: {
tests: {
options: {
base: '.',
hostname: '127.0.0.1',
port: 9999
}
}
},
uglify: {
'dist': {
src: 'dist/js/select2.js',
dest: 'dist/js/select2.min.js',
options: {
banner: minifiedBanner
}
},
'dist.full': {
src: 'dist/js/select2.full.js',
dest: 'dist/js/select2.full.min.js',
options: {
banner: minifiedBanner
}
}
},
qunit: {
all: {
options: {
urls: testUrls
}
}
},
jshint: {
options: {
jshintrc: true,
reporterOutput: ''
},
code: {
src: ['src/js/**/*.js']
},
tests: {
src: ['tests/**/*.js']
}
},
sass: {
dist: {
options: {
implementation: sass,
outputStyle: 'compressed'
},
files: {
'dist/css/select2.min.css': [
'src/scss/core.scss',
'src/scss/theme/default/layout.css'
]
}
},
dev: {
options: {
implementation: sass,
outputStyle: 'nested'
},
files: {
'dist/css/select2.css': [
'src/scss/core.scss',
'src/scss/theme/default/layout.css'
]
}
}
},
requirejs: {
'dist': {
options: {
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.js',
include: includes,
namespace: 'S2',
paths: {
'almond': require.resolve('almond').slice(0, -3),
'jquery': 'jquery.shim',
'jquery-mousewheel': 'jquery.mousewheel.shim'
},
wrap: {
startFile: 'src/js/banner.start.js',
endFile: 'src/js/banner.end.js'
}
}
},
'dist.full': {
options: {
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.full.js',
include: fullIncludes,
namespace: 'S2',
paths: {
'almond': require.resolve('almond').slice(0, -3),
'jquery': 'jquery.shim',
'jquery-mousewheel': require.resolve('jquery-mousewheel').slice(0, -3)
},
wrap: {
startFile: 'src/js/banner.start.js',
endFile: 'src/js/banner.end.js'
}
}
},
'i18n': {
options: {
baseUrl: 'src/js/select2/i18n',
dir: 'dist/js/i18n',
paths: i18nPaths,
modules: i18nModules,
namespace: 'S2',
wrap: {
start: minifiedBanner + grunt.file.read('src/js/banner.start.js'),
end: grunt.file.read('src/js/banner.end.js')
}
}
}
},
watch: {
js: {
files: [
'src/js/select2/**/*.js',
'tests/**/*.js'
],
tasks: [
'compile',
'test',
'minify'
]
},
css: {
files: [
'src/scss/**/*.scss'
],
tasks: [
'compile',
'minify'
]
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-sass');
grunt.registerTask('default', ['compile', 'test', 'lint', 'minify']);
grunt.registerTask('compile', [
'requirejs:dist', 'requirejs:dist.full', 'requirejs:i18n',
'concat:dist', 'concat:dist.full',
'sass:dev'
]);
grunt.registerTask('minify', ['uglify', 'sass:dist']);
grunt.registerTask('lint', ['jshint']);
grunt.registerTask('test', ['connect:tests', 'qunit']);
};

18
LICENSE
View file

@ -1,18 +0,0 @@
Copyright 2014 Igor Vaynberg
Version: @@ver@@ Timestamp: @@timestamp@@
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
General Public License version 2 (the "GPL License"). You may choose either license to govern your
use of this software only upon the condition that you accept all of the terms of either the Apache
License or the GPL License.
You may obtain a copy of the Apache License and the GPL License at:
http://www.apache.org/licenses/LICENSE-2.0
http://www.gnu.org/licenses/gpl-2.0.html
Unless required by applicable law or agreed to in writing, software distributed under the Apache License
or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the Apache License and the GPL License for the specific language governing
permissions and limitations under the Apache License and the GPL License.

21
LICENSE.md Normal file
View file

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

145
README.md
View file

@ -1,20 +1,28 @@
Select2
=======
![Build Status][github-actions-image]
[![cdnjs](https://img.shields.io/cdnjs/v/select2.svg)][cdnjs]
[![jsdelivr](https://data.jsdelivr.com/v1/package/npm/select2/badge)][jsdelivr]
Select2 is a jQuery-based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
Select2 is a jQuery-based replacement for select boxes. It supports searching,
remote data sets, and pagination of results.
To get started, checkout examples and documentation at http://ivaynberg.github.com/select2
To get started, checkout examples and documentation at
https://select2.org/
Use cases
---------
* Enhancing native selects with search.
* Enhancing native selects with a better multi-select interface.
* Loading data from JavaScript: easily load items via ajax and have them searchable.
* Nesting optgroups: native selects only support one level of nested. Select2 does not have this restriction.
* Loading data from JavaScript: easily load items via AJAX and have them
searchable.
* Nesting optgroups: native selects only support one level of nesting. Select2
does not have this restriction.
* Tagging: ability to add new items on the fly.
* Working with large, remote datasets: ability to partially load a dataset based on the search term.
* Paging of large datasets: easy support for loading more pages when the results are scrolled to the end.
* Working with large, remote datasets: ability to partially load a dataset based
on the search term.
* Paging of large datasets: easy support for loading more pages when the results
are scrolled to the end.
* Templating: support for custom rendering of results and selections.
Browser compatibility
@ -24,67 +32,96 @@ Browser compatibility
* Firefox 10+
* Safari 3+
* Opera 10.6+
Usage
-----
You can source Select2 directly from a [CDN like JSDliver](http://www.jsdelivr.com/#!select2), [download it from this GitHub repo](https://github.com/ivaynberg/select2/tags), or use one of the integrations below.
You can source Select2 directly from a CDN like [jsDelivr][jsdelivr] or
[cdnjs][cdnjs], [download it from this GitHub repo][releases], or use one of
the integrations below.
Integrations
------------
Third party developers have created plugins for platforms which allow Select2 to be integrated more natively and quickly. For many platforms, additional plugins are not required because Select2 acts as a standard `<select>` box.
* [Wicket-Select2](https://github.com/ivaynberg/wicket-select2) (Java / [Apache Wicket](http://wicket.apache.org))
* [select2-rails](https://github.com/argerim/select2-rails) (Ruby on Rails)
* [AngularUI](http://angular-ui.github.com/#directives-select2) ([AngularJS](angularjs.org))
* [Django](https://github.com/applegrew/django-select2)
* [Symfony](https://github.com/19Gerhard85/sfSelect2WidgetsPlugin)
* [Symfony2](https://github.com/avocode/FormExtensions)
* [Bootstrap 2](https://github.com/t0m/select2-bootstrap-css) and [Bootstrap 3](https://github.com/t0m/select2-bootstrap-css/tree/bootstrap3) (CSS skins)
* [Meteor](https://github.com/nate-strauser/meteor-select2) (modern reactive JavaScript framework; + [Bootstrap 3 skin](https://github.com/esperadomedia/meteor-select2-bootstrap3-css/))
* [Yii 2.x](http://demos.krajee.com/widgets#select2)
* [Yii 1.x](https://github.com/tonybolzan/yii-select2)
Plugins
* [Django]
- [django-autocomplete-light]
- [django-easy-select2]
- [django-select2]
* [Drupal] - [drupal-select2]
* [Meteor] - [meteor-select2]
* [Ruby on Rails][ruby-on-rails] - [select2-rails]
* [Wicket] - [wicketstuff-select2]
* [Yii 2][yii2] - [yii2-widget-select2]
* [Angularjs][angularjs] - [mdr-angular-select2]
Themes
- [Bootstrap 3][bootstrap3] - [select2-bootstrap-theme]
- [Bootstrap 4][bootstrap4] - [select2-bootstrap4-theme]
- [Flat UI][flat-ui] - [select2-flat-theme]
- [Metro UI][metro-ui] - [select2-metro]
Missing an integration? Modify this `README` and make a pull request back here to Select2 on GitHub.
Internationalization (i18n)
---------------------------
Select2 supports multiple languages by simply including the right language JS
file (`dist/js/i18n/it.js`, `dist/js/i18n/nl.js`, etc.) after
`dist/js/select2.js`.
Select2 supports multiple languages by simply including the right
language JS file (`select2_locale_it.js`, `select2_locale_nl.js`, etc.).
Missing a language? Just copy `src/js/select2/i18n/en.js`, translate it, and
make a pull request back to Select2 here on GitHub.
Missing a language? Just copy `select2_locale_en.js.template`, translate
it, and make a pull request back to Select2 here on GitHub.
Bug tracker
-----------
Have a bug? Please create an issue here on GitHub!
https://github.com/ivaynberg/select2/issues
Mailing list
------------
Have a question? Ask on our mailing list!
select2@googlegroups.com
https://groups.google.com/d/forum/select2
Documentation
-------------
The documentation for Select2 is available
[online at the documentation website][documentation] and is located within the
[`docs` directory of this repository][documentation-directory].
Community
---------
You can find out about the different ways to get in touch with the Select2
community at the [Select2 community page][community].
Copyright and license
---------------------
The license is available within the repository in the [LICENSE][license] file.
Copyright 2012 Igor Vaynberg
[cdnjs]: http://www.cdnjs.com/libraries/select2
[community]: https://select2.org/getting-help
[documentation]: https://select2.org
[documentation-directory]: https://github.com/select2/select2/tree/develop/docs
[freenode]: https://freenode.net/
[github-actions-image]: https://github.com/select2/select2/workflows/CI/badge.svg
[jsdelivr]: https://www.jsdelivr.com/package/npm/select2
[license]: LICENSE.md
[releases]: https://github.com/select2/select2/releases
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
General Public License version 2 (the "GPL License"). You may choose either license to govern your
use of this software only upon the condition that you accept all of the terms of either the Apache
License or the GPL License.
You may obtain a copy of the Apache License and the GPL License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
http://www.gnu.org/licenses/gpl-2.0.html
Unless required by applicable law or agreed to in writing, software distributed under the Apache License
or the GPL License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the Apache License and the GPL License for the specific language governing
permissions and limitations under the Apache License and the GPL License.
[angularjs]: https://angularjs.org/
[bootstrap3]: https://getbootstrap.com/
[bootstrap4]: https://getbootstrap.com/
[django]: https://www.djangoproject.com/
[django-autocomplete-light]: https://github.com/yourlabs/django-autocomplete-light
[django-easy-select2]: https://github.com/asyncee/django-easy-select2
[django-select2]: https://github.com/applegrew/django-select2
[drupal]: https://www.drupal.org/
[drupal-select2]: https://www.drupal.org/project/select2
[flat-ui]: http://designmodo.github.io/Flat-UI/
[mdr-angular-select2]: https://github.com/modulr/mdr-angular-select2
[meteor]: https://www.meteor.com/
[meteor-select2]: https://github.com/nate-strauser/meteor-select2
[metro-ui]: http://metroui.org.ua/
[select2-metro]: http://metroui.org.ua/select2.html
[ruby-on-rails]: http://rubyonrails.org/
[select2-bootstrap-theme]: https://github.com/select2/select2-bootstrap-theme
[select2-bootstrap4-theme]: https://github.com/ttskch/select2-bootstrap4-theme
[select2-flat-theme]: https://github.com/techhysahil/select2-Flat_Theme
[select2-rails]: https://github.com/argerim/select2-rails
[vue.js]: http://vuejs.org/
[select2-vue]: http://vuejs.org/examples/select2.html
[wicket]: https://wicket.apache.org/
[wicketstuff-select2]: https://github.com/wicketstuff/core/tree/master/select2-parent
[yii2]: http://www.yiiframework.com/
[yii2-widget-select2]: https://github.com/kartik-v/yii2-widget-select2

View file

@ -1,8 +1,13 @@
{
"name": "select2",
"version": "3.4.8",
"main": ["select2.js", "select2.css", "select2.png", "select2x2.png", "select2-spinner.gif"],
"dependencies": {
"jquery": ">= 1.7.1"
"description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
"main": [
"dist/js/select2.js",
"src/scss/core.scss"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "git@github.com:select2/select2.git"
}
}

View file

@ -1,66 +1,19 @@
{
"name": "select2",
"repo": "ivaynberg/select2",
"repo": "select/select2",
"description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
"version": "3.4.8",
"demo": "http://ivaynberg.github.io/select2/",
"version": "4.0.12",
"demo": "https://select2.org/",
"keywords": [
"jquery"
],
"main": "select2.js",
"main": "dist/js/select2.js",
"styles": [
"select2.css",
"select2-bootstrap.css"
"dist/css/select2.css"
],
"scripts": [
"select2.js",
"select2_locale_ar.js",
"select2_locale_bg.js",
"select2_locale_ca.js",
"select2_locale_cs.js",
"select2_locale_da.js",
"select2_locale_de.js",
"select2_locale_el.js",
"select2_locale_es.js",
"select2_locale_et.js",
"select2_locale_eu.js",
"select2_locale_fa.js",
"select2_locale_fi.js",
"select2_locale_fr.js",
"select2_locale_gl.js",
"select2_locale_he.js",
"select2_locale_hr.js",
"select2_locale_hu.js",
"select2_locale_id.js",
"select2_locale_is.js",
"select2_locale_it.js",
"select2_locale_ja.js",
"select2_locale_ka.js",
"select2_locale_ko.js",
"select2_locale_lt.js",
"select2_locale_lv.js",
"select2_locale_mk.js",
"select2_locale_ms.js",
"select2_locale_nl.js",
"select2_locale_no.js",
"select2_locale_pl.js",
"select2_locale_pt-BR.js",
"select2_locale_pt-PT.js",
"select2_locale_ro.js",
"select2_locale_ru.js",
"select2_locale_sk.js",
"select2_locale_sv.js",
"select2_locale_th.js",
"select2_locale_tr.js",
"select2_locale_uk.js",
"select2_locale_vi.js",
"select2_locale_zh-CN.js",
"select2_locale_zh-TW.js"
],
"images": [
"select2-spinner.gif",
"select2.png",
"select2x2.png"
"dist/js/select2.js",
"dist/js/i18n/*.js"
],
"license": "MIT"
}

View file

@ -1,28 +1,21 @@
{
"name":
"ivaynberg/select2",
"name": "select2/select2",
"description": "Select2 is a jQuery based replacement for select boxes.",
"version": "3.4.8",
"type": "component",
"homepage": "http://ivaynberg.github.io/select2/",
"license": "Apache-2.0",
"require": {
"robloach/component-installer": "*",
"components/jquery": ">=1.7.1"
},
"homepage": "https://select2.org/",
"license": "MIT",
"extra": {
"component": {
"scripts": [
"select2.js"
"dist/js/select2.js"
],
"styles": [
"dist/css/select2.css"
],
"files": [
"select2.js",
"select2_locale_*.js",
"select2.css",
"select2-bootstrap.css",
"select2-spinner.gif",
"select2.png",
"select2x2.png"
"dist/js/select2.js",
"dist/js/i18n/*.js",
"dist/css/select2.css"
]
}
}

481
dist/css/select2.css vendored Normal file
View file

@ -0,0 +1,481 @@
.select2-container {
box-sizing: border-box;
display: inline-block;
margin: 0;
position: relative;
vertical-align: middle; }
.select2-container .select2-selection--single {
box-sizing: border-box;
cursor: pointer;
display: block;
height: 28px;
user-select: none;
-webkit-user-select: none; }
.select2-container .select2-selection--single .select2-selection__rendered {
display: block;
padding-left: 8px;
padding-right: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; }
.select2-container .select2-selection--single .select2-selection__clear {
position: relative; }
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
padding-right: 8px;
padding-left: 20px; }
.select2-container .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 32px;
user-select: none;
-webkit-user-select: none; }
.select2-container .select2-selection--multiple .select2-selection__rendered {
display: inline-block;
overflow: hidden;
padding-left: 8px;
text-overflow: ellipsis;
white-space: nowrap; }
.select2-container .select2-search--inline {
float: left; }
.select2-container .select2-search--inline .select2-search__field {
box-sizing: border-box;
border: none;
font-size: 100%;
margin-top: 5px;
padding: 0; }
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none; }
.select2-dropdown {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
box-sizing: border-box;
display: block;
position: absolute;
left: -100000px;
width: 100%;
z-index: 1051; }
.select2-results {
display: block; }
.select2-results__options {
list-style: none;
margin: 0;
padding: 0; }
.select2-results__option {
padding: 6px;
user-select: none;
-webkit-user-select: none; }
.select2-results__option[aria-selected] {
cursor: pointer; }
.select2-container--open .select2-dropdown {
left: 0; }
.select2-container--open .select2-dropdown--above {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--open .select2-dropdown--below {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-search--dropdown {
display: block;
padding: 4px; }
.select2-search--dropdown .select2-search__field {
padding: 4px;
width: 100%;
box-sizing: border-box; }
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none; }
.select2-search--dropdown.select2-search--hide {
display: none; }
.select2-close-mask {
border: 0;
margin: 0;
padding: 0;
display: block;
position: fixed;
left: 0;
top: 0;
min-height: 100%;
min-width: 100%;
height: auto;
width: auto;
opacity: 0;
z-index: 99;
background-color: #fff;
filter: alpha(opacity=0); }
.select2-hidden-accessible {
border: 0 !important;
clip: rect(0 0 0 0) !important;
-webkit-clip-path: inset(50%) !important;
clip-path: inset(50%) !important;
height: 1px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
white-space: nowrap !important; }
.select2-container--default .select2-selection--single {
background-color: #fff;
border: 1px solid #aaa;
border-radius: 4px; }
.select2-container--default .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px; }
.select2-container--default .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold; }
.select2-container--default .select2-selection--single .select2-selection__placeholder {
color: #999; }
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px; }
.select2-container--default .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0; }
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
float: left; }
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
left: 1px;
right: auto; }
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #eee;
cursor: default; }
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
display: none; }
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; }
.select2-container--default .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
box-sizing: border-box;
list-style: none;
margin: 0;
padding: 0 5px;
width: 100%; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
list-style: none; }
.select2-container--default .select2-selection--multiple .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
margin-top: 5px;
margin-right: 10px;
padding: 1px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
cursor: default;
float: left;
margin-right: 5px;
margin-top: 5px;
padding: 0 5px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
color: #999;
cursor: pointer;
display: inline-block;
font-weight: bold;
margin-right: 2px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #333; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
float: right; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
margin-left: 5px;
margin-right: auto; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
margin-left: 2px;
margin-right: auto; }
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: solid black 1px;
outline: 0; }
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #eee;
cursor: default; }
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
display: none; }
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--default .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa; }
.select2-container--default .select2-search--inline .select2-search__field {
background: transparent;
border: none;
outline: 0;
box-shadow: none;
-webkit-appearance: textfield; }
.select2-container--default .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto; }
.select2-container--default .select2-results__option[role=group] {
padding: 0; }
.select2-container--default .select2-results__option[aria-disabled=true] {
color: #999; }
.select2-container--default .select2-results__option[aria-selected=true] {
background-color: #ddd; }
.select2-container--default .select2-results__option .select2-results__option {
padding-left: 1em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
padding-left: 0; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
margin-left: -1em;
padding-left: 2em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -2em;
padding-left: 3em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -3em;
padding-left: 4em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -4em;
padding-left: 5em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -5em;
padding-left: 6em; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
background-color: #5897fb;
color: white; }
.select2-container--default .select2-results__group {
cursor: default;
display: block;
padding: 6px; }
.select2-container--classic .select2-selection--single {
background-color: #f7f7f7;
border: 1px solid #aaa;
border-radius: 4px;
outline: 0;
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
.select2-container--classic .select2-selection--single:focus {
border: 1px solid #5897fb; }
.select2-container--classic .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px; }
.select2-container--classic .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
margin-right: 10px; }
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
color: #999; }
.select2-container--classic .select2-selection--single .select2-selection__arrow {
background-color: #ddd;
border: none;
border-left: 1px solid #aaa;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0; }
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
float: left; }
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
border: none;
border-right: 1px solid #aaa;
border-radius: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
left: 1px;
right: auto; }
.select2-container--classic.select2-container--open .select2-selection--single {
border: 1px solid #5897fb; }
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
background: transparent;
border: none; }
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; }
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
.select2-container--classic .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text;
outline: 0; }
.select2-container--classic .select2-selection--multiple:focus {
border: 1px solid #5897fb; }
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
list-style: none;
margin: 0;
padding: 0 5px; }
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
display: none; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
cursor: default;
float: left;
margin-right: 5px;
margin-top: 5px;
padding: 0 5px; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
color: #888;
cursor: pointer;
display: inline-block;
font-weight: bold;
margin-right: 2px; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #555; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
float: right;
margin-left: 5px;
margin-right: auto; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
margin-left: 2px;
margin-right: auto; }
.select2-container--classic.select2-container--open .select2-selection--multiple {
border: 1px solid #5897fb; }
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--classic .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa;
outline: 0; }
.select2-container--classic .select2-search--inline .select2-search__field {
outline: 0;
box-shadow: none; }
.select2-container--classic .select2-dropdown {
background-color: white;
border: 1px solid transparent; }
.select2-container--classic .select2-dropdown--above {
border-bottom: none; }
.select2-container--classic .select2-dropdown--below {
border-top: none; }
.select2-container--classic .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto; }
.select2-container--classic .select2-results__option[role=group] {
padding: 0; }
.select2-container--classic .select2-results__option[aria-disabled=true] {
color: grey; }
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
background-color: #3875d7;
color: white; }
.select2-container--classic .select2-results__group {
cursor: default;
display: block;
padding: 6px; }
.select2-container--classic.select2-container--open .select2-dropdown {
border-color: #5897fb; }

1
dist/css/select2.min.css vendored Normal file

File diff suppressed because one or more lines are too long

3
dist/js/i18n/af.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}();

3
dist/js/i18n/ar.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}();

3
dist/js/i18n/az.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}();

3
dist/js/i18n/bg.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}();

3
dist/js/i18n/bn.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}();

3
dist/js/i18n/bs.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}();

3
dist/js/i18n/ca.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}();

3
dist/js/i18n/cs.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}();

3
dist/js/i18n/da.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}();

3
dist/js/i18n/de.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}();

3
dist/js/i18n/dsb.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();

3
dist/js/i18n/el.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}();

3
dist/js/i18n/en.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}();

3
dist/js/i18n/es.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}();

3
dist/js/i18n/et.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}();

3
dist/js/i18n/eu.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}();

3
dist/js/i18n/fa.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}();

3
dist/js/i18n/fi.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}();

3
dist/js/i18n/fr.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>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…"},removeAllItems:function(){return"Supprimer tous les éléments"}}}),e.define,e.require}();

3
dist/js/i18n/gl.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}();

3
dist/js/i18n/he.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}();

3
dist/js/i18n/hi.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}();

3
dist/js/i18n/hr.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}();

3
dist/js/i18n/hsb.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();

3
dist/js/i18n/hu.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" 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…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),e.define,e.require}();

3
dist/js/i18n/hy.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}();

3
dist/js/i18n/id.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}();

3
dist/js/i18n/is.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}();

3
dist/js/i18n/it.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}();

3
dist/js/i18n/ja.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}();

3
dist/js/i18n/ka.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}();

3
dist/js/i18n/km.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}();

3
dist/js/i18n/ko.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}();

3
dist/js/i18n/lt.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}();

3
dist/js/i18n/lv.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}();

3
dist/js/i18n/mk.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}();

3
dist/js/i18n/ms.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}();

3
dist/js/i18n/nb.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" 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…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}();

3
dist/js/i18n/ne.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}();

3
dist/js/i18n/nl.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}();

3
dist/js/i18n/pl.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}();

3
dist/js/i18n/ps.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}();

3
dist/js/i18n/pt-BR.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}();

3
dist/js/i18n/pt.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}();

3
dist/js/i18n/ro.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;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 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},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",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}();

3
dist/js/i18n/ru.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}();

3
dist/js/i18n/sk.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}();

3
dist/js/i18n/sl.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}();

3
dist/js/i18n/sq.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}();

3
dist/js/i18n/sr-Cyrl.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();

3
dist/js/i18n/sr.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();

3
dist/js/i18n/sv.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}();

3
dist/js/i18n/th.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}();

3
dist/js/i18n/tk.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}();

3
dist/js/i18n/tr.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}();

3
dist/js/i18n/uk.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}();

3
dist/js/i18n/vi.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}();

3
dist/js/i18n/zh-CN.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}();

3
dist/js/i18n/zh-TW.js vendored Normal file
View file

@ -0,0 +1,3 @@
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}();

6759
dist/js/select2.full.js vendored Normal file

File diff suppressed because it is too large Load diff

2
dist/js/select2.full.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6047
dist/js/select2.js vendored Normal file

File diff suppressed because it is too large Load diff

2
dist/js/select2.min.js vendored Normal file

File diff suppressed because one or more lines are too long

395
docs/LICENSE.md Normal file
View file

@ -0,0 +1,395 @@
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.

47
docs/README.md Normal file
View file

@ -0,0 +1,47 @@
# select2.org
https://select2.org
This is the repository for the documentation for Select2. It is built with the flat-file CMS [Grav](http://getgrav.org), using their [RTFM skeleton](https://github.com/getgrav/grav-skeleton-rtfm-site#rtfm-skeleton).
## Local installation
### Step 1 - Install Grav
This application uses the [Grav](https://learn.getgrav.org/) CMS. This repository does not contain a full Grav installation - rather, it just contains the contents of Grav's `user` directory, which is where all of our content, themes, and assets live. This was done as per the [recommendation on Grav's blog](https://getgrav.org/blog/developing-with-github-part-2), to make it easier to deploy changes to the live server.
To install this website on your computer, first [install grav core](https://getgrav.org/downloads) in a project folder called `select2-docs` under your webserver's document root folder. Then, find the `user` folder inside of your project folder. Delete the contents of the `user` folder and clone this repository directly into the user folder.
When you're done it might look something like this:
```
htdocs/
└── select2-docs/
├── assets/
├── ...
├── user/
├── .git
├── accounts/
├── assets/
├── config/
└── ...
└── ...
```
### Step 2
Grav needs your webserver to be able to write to certain directories. In OSX with XAMPP installed, this won't work by default. To deal with this:
Add default webserver user `daemon` to OSX's `staff` group (which already has the necessary permissions for writing to files/directories):
`sudo dseditgroup -o edit -a daemon -t user staff`
### Step 3
Visit the local installation in your browser! For example, http://localhost/select2-docs.
## Credits
Favicons were generated with https://realfavicongenerator.net/

0
docs/accounts/.gitkeep Normal file
View file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

13
docs/blueprints.yaml Normal file
View file

@ -0,0 +1,13 @@
name: RTFM Site
version: 1.0.2
description: "RTFM is a sample documentation site using the `learn2` theme. This skeleton is used as the basis for the Grav official documentation: http://learn.getgrav.org"
icon: book
author:
name: Team Grav
email: devs@getgrav.org
url: http://getgrav.org
homepage: https://github.com/getgrav/grav-skeleton-rtfm-site
demo: http://demo.getgrav.org/rtfm-skeleton
keywords: rtfm, skeleton, documentation, docs
bugs: https://github.com/getgrav/grav-skeleton-rtfm-site/issues
license: MIT

View file

@ -0,0 +1 @@
selectors: '#body h2, #body h3, #body h4, #body h5'

View file

@ -0,0 +1 @@
theme: learn

View file

@ -0,0 +1,6 @@
enabled: true
built_in_css: false
route: /search
template: simplesearch_results
filters:
category: docs

10
docs/config/site.yaml Normal file
View file

@ -0,0 +1,10 @@
title: Select2 - The jQuery replacement for select boxes
metadata:
description: Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and pagination (infinite scrolling) of results.
taxonomies: [category,tag]
summary:
size: 300
redirects:
/getting-help: /troubleshooting/getting-help

35
docs/config/system.yaml Normal file
View file

@ -0,0 +1,35 @@
home:
alias: '/getting-started'
pages:
theme: site
markdown_extra: true
process:
markdown: true
twig: false
cache:
enabled: true
check:
method: file
driver: auto
prefix: 'g'
twig:
cache: true
debug: false
auto_reload: true
autoescape: false
assets:
css_pipeline: true
css_minify: true
css_rewrite: true
js_pipeline: true
js_minify: true
debugger:
enabled: false
twig: true
shutdown:
close_connection: true

0
docs/data/.gitkeep Normal file
View file

View file

@ -0,0 +1 @@
salt: dc7HfDXRG0WT48

View file

@ -0,0 +1,10 @@
assets:
css_pipeline: false
js_pipeline: false
twig:
cache: true
debug: true
debugger:
enabled: false

View file

@ -0,0 +1,50 @@
---
title: Installation
taxonomy:
category: docs
---
In order to use Select2, you must include the compiled JavaScript and CSS files on your website. There are multiple options for including these pre-compiled files, also known as a **distribution**, in your website or application.
## Using Select2 from a CDN
A CDN (content delivery network) is the fastest way to get up and running with Select2!
Select2 is hosted on both the [jsDelivr](https://www.jsdelivr.com/package/npm/select2) and [cdnjs](https://cdnjs.com/libraries/select2) CDNs. Simply include the following lines of code in the `<head>` section of your page:
```
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/js/select2.min.js"></script>
```
>>> <i class="fa fa-info-circle"></i> Immediately following a new release, it takes some time for CDNs to catch up and get the new versions live on the CDN.
## Installing with Bower
Select2 is available on Bower. Add the following to your `bower.json` file and then run `bower install`:
```
"dependencies": {
"select2": "~4.0"
}
```
Or, run `bower install select2` from your project directory.
The precompiled distribution files will be available in `vendor/select2/dist/css/` and `vendor/select2/dist/js/`, relative to your project directory. Include them in your page:
```
<link href="vendor/select2/dist/css/select2.min.css" rel="stylesheet" />
<script src="vendor/select2/dist/js/select2.min.js"></script>
```
## Manual installation
We strongly recommend that you use either a CDN or a package manager like Bower or npm. This will make it easier for you to deploy your project in different environments, and easily update Select2 when new versions are released. Nonetheless if you prefer to integrate Select2 into your project manually, you can [download the release of your choice](https://github.com/select2/select2/tags) from GitHub and copy the files from the `dist` directory into your project.
Include the compiled files in your page:
```
<link href="path/to/select2.min.css" rel="stylesheet" />
<script src="path/to/select2.min.js"></script>
```

View file

@ -0,0 +1,106 @@
---
title: Basic usage
taxonomy:
category: docs
process:
twig: true
never_cache_twig: true
---
## Single select boxes
Select2 was designed to be a replacement for the standard `<select>` box that is displayed by the browser. By default it supports all options and operations that are available in a standard select box, but with added flexibility.
Select2 can take a regular select box like this...
<select class="js-states form-control"></select>
and turn it into this...
<div class="s2-example">
<select class="js-example-basic-single js-states form-control"></select>
</div>
```
<select class="js-example-basic-single" name="state">
<option value="AL">Alabama</option>
...
<option value="WY">Wyoming</option>
</select>
```
<script type="text/javascript" class="js-code-example-basic-single">
$(document).ready(function() {
$('.js-example-basic-single').select2();
});
</script>
Select2 will register itself as a jQuery function if you use any of the distribution builds, so you can call `.select2()` on any jQuery selector where you would like to initialize Select2.
```
// In your Javascript (external .js resource or <script> tag)
$(document).ready(function() {
$('.js-example-basic-single').select2();
});
```
>>>>>> The DOM cannot be safely manipulated until it is "ready". To make sure that your DOM is ready before the browser initializes the Select2 control, wrap your code in a [`$(document).ready()`](https://learn.jquery.com/using-jquery-core/document-ready/) block. Only one `$(document).ready()` block is needed per page.
## Multi-select boxes (pillbox)
Select2 also supports multi-value select boxes. The select below is declared with the `multiple` attribute.
<div class="s2-example">
<p>
<select class="js-example-basic-multiple js-states form-control" multiple="multiple"></select>
</p>
</div>
**In your HTML:**
```
<select class="js-example-basic-multiple" name="states[]" multiple="multiple">
<option value="AL">Alabama</option>
...
<option value="WY">Wyoming</option>
</select>
```
**In your Javascript (external `.js` resource or `<script>` tag):**
```
$(document).ready(function() {
$('.js-example-basic-multiple').select2();
});
```
<script type="text/javascript">
$.fn.select2.amd.require([
"select2/core",
"select2/utils"
], function (Select2, Utils, oldMatcher) {
var $basicSingle = $(".js-example-basic-single");
var $basicMultiple = $(".js-example-basic-multiple");
$.fn.select2.defaults.set("width", "100%");
$basicSingle.select2();
$basicMultiple.select2();
function formatState (state) {
if (!state.id) {
return state.text;
}
var $state = $(
'<span>' +
'<img src="vendor/images/flags/' +
state.element.value.toLowerCase() +
'.png" class="img-flag" /> ' +
state.text +
'</span>'
);
return $state;
};
});
</script>

Some files were not shown because too many files have changed in this diff Show more