1
0
mirror of synced 2025-02-04 06:09:23 +03:00

500 Commits

Author SHA1 Message Date
Min ho Kim
9c4f0c86a1 Fix typos (#5574) 2019-07-20 12:42:18 -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
Waseem Ahmad
d66e55dd9e removed select2-selection__placeholder from _multiple.scss (#5508) 2019-06-25 21:59:56 -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
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
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
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
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
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
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
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
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
mlpo
e67c9aa34d Add missing diacritics to diacritics.js (#4118) 2018-09-05 14:31:46 -03:00
Tim Graham
ec7c57c288 Fix typos in comments (#5336) 2018-09-04 22:11:36 -03: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
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
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
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
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
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
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
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
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
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
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
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