1
0
mirror of synced 2024-11-23 05:26:10 +03:00
Commit Graph

613 Commits

Author SHA1 Message Date
Igor Vaynberg
882e7996f4 keep focus in control when the mask is clicked 2013-05-06 20:05:15 -07:00
Igor Vaynberg
4094c1c7de fix tab-on-select transfers focus to next element. fixes #898. fixes #1045 2013-05-06 19:42:38 -07:00
Igor Vaynberg
9c1caa6d3a add handling of autofocus attribute. fixes #837 2013-05-06 19:25:09 -07:00
Igor Vaynberg
b0959000b3 namespace events and consoldate select and selected into selecting. fixes #497. fixes #1262 2013-05-06 16:12:38 -07:00
Igor Vaynberg
266861ac51 fix parameter names 2013-05-06 15:26:46 -07:00
Igor Vaynberg
231cce0add Merge pull request #1187 from barryhunter/patch-2
Bugfix for Resetting Scrollpoint on Multi-select
2013-05-06 15:25:55 -07:00
Igor Vaynberg
8008bfa8dc attr to prop change. #1260 2013-05-06 15:23:46 -07:00
Igor Vaynberg
0fe95eb07c Merge pull request #1062 from bigmihail/patch-1
Use $.prop() to get "multiple" attribute
2013-05-06 14:07:26 -07:00
Igor Vaynberg
adb126edc6 Merge pull request #1239 from NielsKuhnel/master
Keyboard navigation in choices (whitespace preserved)
2013-05-06 13:41:06 -07:00
Igor Vaynberg
55827b9159 introduce support for separate readonly and disabled modes. closes #1253. fixes #778. closes #1183 2013-05-06 13:13:02 -07:00
Igor Vaynberg
62e0ae6004 #1260 closes #1252 fixes #992 - retrieve option text as value when value is not defined 2013-05-06 09:54:17 -07:00
Igor Vaynberg
83050fd2fa Problem escaped caracter on IE7. fixes #856 2013-05-06 09:34:44 -07:00
Julian Krispel-Samsel
9d06fe24dc Render formatNoMatches when all ajax results are selected #381 2013-05-04 08:03:00 +01:00
Niels Kühnel
870b1b7165 Less aggresive keyboard deletes and carret stays 2013-05-03 11:51:41 +02:00
Niels Kühnel
877c1d90c5 Keyboard navigation in choices (tags) 2013-05-03 00:41:55 +02:00
Leigh Halliday
da7dd51294 Changing to from ' to ' because ' isn't supported in IE8 2013-05-02 12:03:20 -04:00
Igor Vaynberg
78139a80ba work around chrome and mutation observer bug. fixes #1099 2013-04-27 11:08:29 -07:00
Vitaly
79228ce1e0 add title for choice item 2013-04-26 18:22:23 +04:00
barryhunter
4e8da110d6 Bugfix for Resetting Scrollpoint on Multi-select
Duplicating pull request #974 - which seemed to only fix it for 'single' version. Have copied the same condition into the one for 'multi' case. There may be a better way, but in my testing this seems to have worked.
2013-04-15 00:25:51 +02:00
barryhunter
f511d5a2ff Allow overriding jquery's automatic cache-busting on ajax calls
By default jQuery (and Select2) add parameters to ajax calls, to invalidate browser caching. In certain circumstances its useful to disable this (eg when server sets good Cache-Control headers), this patch allows passing the cache/jsonpCallback params though to jquery's ajax function.
2013-04-14 23:14:16 +02:00
Julen Ruiz Aizpuru
8cb3698820 Fix #1172 -- Properly set width when allowClear is being used.
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-04-12 07:58:31 -07:00
Igor Vaynberg
25549c787b Revert "applied fix for #1172 - Clear button overlaps text"
This reverts commit fd07c11484.
2013-04-12 07:58:13 -07:00
Igor Vaynberg
06c82f2d0b do not propagate change event from the search field out of the component. fixes #1178 2013-04-11 20:22:52 -07:00
Alex Rice
a0f35aba3f Remove inline styles 2013-04-12 02:57:03 +00:00
Igor Vaynberg
4a0851bce5 Array data with custom key (string) isn't returning matches. fixes #1179 2013-04-11 19:15:16 -07:00
Igor Vaynberg
fd07c11484 applied fix for #1172 - Clear button overlaps text 2013-04-11 15:00:17 -07:00
Martin K.
9057a9606f Update select2.js
See #1175 - fixed typo introduced in last commit
2013-04-10 19:33:23 -03:00
Igor Vaynberg
45995d0f34 fix tabindex for both multi and single. fixes #1169 2013-04-10 12:56:30 -07:00
leipie
bc2c780449 Fix tabindexing
Actually set tabindex on the select2-focusser for focussing on tab
navigation

Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-04-10 12:43:30 -07:00
Igor Vaynberg
f582d8ae15 Merge pull request #979 from mynameistechno/master
Fixes #291
2013-04-10 12:30:05 -07:00
Igor Vaynberg
92e2c6d56f Merge pull request #1073 from norlin/master
Fix initSelection method with empty input value
2013-04-10 08:22:10 -07:00
Igor Vaynberg
dc27a5b74d add a rejectable select event. fixes #1053 2013-04-09 19:53:11 -07:00
Igor Vaynberg
2bf5a763c5 fix keystroke dropping when single select is opened by typing in unopened state really fast. fixes #949 2013-04-09 18:58:30 -07:00
Igor Vaynberg
bd2a8c6d84 centralize option tag to data element translation 2013-04-09 15:11:39 -07:00
Igor Vaynberg
49e9908656 Merge pull request #1162 from leipie/master
Fix IE8 clickable issues
2013-04-09 09:54:49 -07:00
Igor Vaynberg
598773258e fixes #1163 fixes #1160 fixes #1129 2013-04-09 09:51:24 -07:00
leipie
d1c81dfbe2 Make select whole select clickable in IE8 2013-04-09 17:12:01 +02:00
Igor Vaynberg
511c1b8728 when resolving width use case insensitive expression. fixes #1065 2013-04-08 16:25:46 -07:00
Igor Vaynberg
de07ba2b16 apply offscreen class after calculating width because offscreen class resets the width. also use css('width') when copying width if it returns a usable value. fixes #1140. fixes #1079 2013-04-08 16:24:15 -07:00
Igor Vaynberg
d80ec81199 Merge pull request #1055 from jessefoster/autoDropdownWidth
Add option to automatically size dropdown width
2013-04-03 09:16:01 -07:00
Dmitrii Chekaliuk
aedcc10b8f Fix focus issue on multi-value select
Inside the multi-value select box, when you hit backspace next to the
choice, it gets the `select2-search-choice-focus` class, but that class
is not being removed when select box loses the focus.
2013-03-28 02:29:59 +02:00
Igor Vaynberg
2f69290e2d Merge pull request #1095 from nolamesa/patch-1
Fix for random scrolling when using hierarchical data
2013-03-26 12:19:35 -07:00
Igor Vaynberg
f9f76d8b4c remove debug statement 2013-03-26 08:48:54 -07:00
nolamesa
5b0bbfeb7c Fix for random scrolling when using hierarchical data
When using hierarchical data there is a random scroll jump when hovering over select options. The reason is that in the case of hierarchical data the highlightable choices are <ul> and thus their outer height is many pixels (includes the children's height as well). A fix is to make the height calculations by using the the label divs.
2013-03-26 14:49:02 +02:00
Igor Vaynberg
7a3d3dcd2b Revert "Added ajax.transport support to default options"
This reverts commit 04a6535bd5.
2013-03-25 09:17:19 -07:00
Igor Vaynberg
94c1706c67 clear off active class when closing. #1089 2013-03-25 08:57:35 -07:00
Igor Vaynberg
519070b11d fix label focussing bug on ios. fixes #1008. 2013-03-25 08:54:01 -07:00
Igor Vaynberg
45559654bc fixes #1057 2013-03-25 08:54:01 -07:00
Igor Vaynberg
a624417556 Merge pull request #1083 from rvignacio/default_ajax.transport
Added ajax.transport default option
2013-03-23 21:22:34 -07:00
rvignacio
04a6535bd5 Added ajax.transport support to default options 2013-03-23 17:26:37 -03:00
gboer
ea39b25bf6 Update select2.js
Fix for when you specify tags using JSON-encoded select2-tags-attribute.

And thank you for properly implementing my (earlier) submitted hack :)
2013-03-23 15:05:16 +01:00
norlin
c8cae0a6c9 fix initSelection with empty input value 2013-03-22 10:14:39 +04:00
Mihail
381f173e55 Use $.prop() to get "multiple" attribute
The string 
opts.element.attr("multiple") 
returns:
1) string "multiple" - if element have attribute multiple (<select name="..." multiple></select>)
2) undefined - if element have not attribute multiple (<select name="..."></select>)
It is written in the documentation:
"As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set."
"To retrieve and change DOM properties, use the .prop() method."
(http://api.jquery.com/attr/)

I am propose use "prop" function. The string
opts.element.prop("multiple")
returns:
1) boolean "true" - if element have attribute multiple
2) boolean "false" - if element have not attribute multiple

After, the "multiple" variable use in check of the condition:
select2 = multiple ? new MultiSelect2() : new SingleSelect2();
Better use true/false variable value than "multiple"/undefined in this condition.

Tested in Opera 12 and IE 8.0.7601
2013-03-20 14:19:05 +02:00
ZhongYou
6a58e99285 trigger "focus" event in focus function make chrome error:
"Uncaught RangeError: Maximum call stack size exceeded"
2013-03-19 18:01:12 +08:00
jfoster
7956d7aee3 Add option to automatically size dropdown width 2013-03-18 19:56:38 -04:00
Igor Vaynberg
9acfc6faa5 prevent duplicate queries 2013-03-14 12:47:46 -07:00
Igor Vaynberg
3be8547584 added new loaded event. fixes #930 2013-03-14 12:00:06 -07:00
Igor Vaynberg
86a8190080 Loading icon doesn't disappear when using tags with auto tokenization. fixes #1005 2013-03-14 11:39:45 -07:00
Igor Vaynberg
b973b56cce Calling select2('open') on multiple select shows 'No Matches Found'. 2013-03-14 11:31:11 -07:00
Igor Vaynberg
911a0bb082 prevent form from being submitted when enter is pressed in multiselect. fixes #961 2013-03-14 11:14:37 -07:00
Igor Vaynberg
dd34cc5d67 always show spinner during searching. fixes #950 fixes #943 2013-03-14 10:00:25 -07:00
Jens Rantil
5193dc40b9 Fixing grammar
I find it hard to "type" less characters. It's sort of unintuitive.
2013-03-13 17:38:34 +01:00
frntz
78312ce33f Slash doesn't escaped
Caused problems during uglify minification
2013-03-13 08:40:47 +01:00
Igor Vaynberg
ae4b24a7e8 workaround for IE when manipulating classes. fixes #937 fixes #1017 2013-03-12 09:27:11 -07:00
Igor Vaynberg
814e8b5bed fix #1000 2013-03-07 16:04:19 -08:00
Stephen Starkey
e7f2aeaf08 Don't update results if maximumSelectionSize is 0
a maximumSelectionSize of zero means unlimited, which means 
we shouldn't be updating results if it's set to 0
2013-03-05 10:31:28 -06:00
Mark Matyas
8d424b3202 Fixes #291 2013-03-05 02:19:28 -08:00
Nils Kenneweg
414c376a1a fixed a bug resetting scroll when loading more data. 2013-03-04 13:54:03 +01:00
Dave Smith
953b6f2ac1 Fix mask height/width when document is shorter than window
When the document element (e.g., the body) is shorter than the window,
the select2-drop-mask was not extending all the way to the bottom
of the browser viewport, leading to an area below the body that was
clickable but that select2 did not notice. Thus, if a user clicked
down there, the drop would not disappear. This is particularly
troublesome if the page contains absolutely positioned elements at
the bottom of the browser window.
2013-03-01 15:05:46 -07:00
Igor Vaynberg
66860b2811 Merge pull request #964 from adam-iris/master
Fix for issue #934
2013-03-01 10:47:40 -08:00
Igor Vaynberg
debbcfcede correctly filter out selected options out of elements loaded by infinite scroll. fixes #881 2013-03-01 09:11:45 -08:00
Igor Vaynberg
5ae70eca5f work around a firefox bug when calculation search width. fixes #944 2013-03-01 08:29:40 -08:00
Igor Vaynberg
31101764ff add missing element prop to data. fix #936 2013-03-01 00:54:11 -08:00
Igor Vaynberg
8520793f25 workaround for chrome focus bug. fixes #939 2013-02-28 19:47:19 -08:00
Adam
dacf51361d Default local initSelection returns the actual selected items
Fix for issue #934. The default initSelection uses a matcher to find
items that match the selection, but if the data is hierarchical what
the matcher returns may actually be grouping elements, so they can't be
treated as a list of matching items.  This fix runs the matcher but
rather than using its return value it collects the matching item(s)
into a closure-scoped variable and then returns that.
2013-02-27 17:05:19 -08:00
Igor Vaynberg
83d77cfa62 fix search field focussing problems. fixes #922 2013-02-27 08:53:44 -08:00
Vincent Petry
08b75a1798 Do not trigger event when calling clear() from val() with empty value 2013-02-21 10:53:16 +01:00
Igor Vaynberg
cd0adbe913 fix duplicate values in IE. fix #840 2013-02-20 19:06:05 -08:00
Igor Vaynberg
8e9e65f864 Error when clearing a single-select box multiple times. fix #908 2013-02-20 18:36:11 -08:00
Igor Vaynberg
250447b53a Clicking the clear button raised the changed event twice. fixes #867 2013-02-20 08:51:03 -08:00
Igor Vaynberg
38758d754b fix ajax url() context. fixes #895 2013-02-19 14:11:38 -08:00
Igor Vaynberg
70be25cc6d fix ajax url() context. fixes #895 2013-02-19 13:21:57 -08:00
Igor Vaynberg
9bf4614cd5 fix ajax url() context. fixes #895 2013-02-19 11:54:38 -08:00
Igor Vaynberg
6b65976e17 Merge pull request #893 from bgertonson/ajax_url
#608 fix to allow distinct ajax urls
2013-02-19 10:03:28 -08:00
Bryan Gertonson
302c87b197 Because a shared options object is passed around when creating each instance of a select2 widget, the query function that was built would use the last ajax url that was set on the options object for all select2 widgets. By using a variable scoped to the closure, the ajax url can be maintained per select2 instance. 2013-02-19 11:18:54 -06:00
Vitaly
dea7979f11 TypeError: Cannot call method 'positionDropdown' of undefined 2013-02-19 12:19:27 +04:00
Lee Baker
6278e7cca0 Fixing when the data helper is a function for the local query
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-02-16 18:33:27 -08:00
Igor Vaynberg
7d908da52f allow data helper to be a function 2013-02-14 19:52:43 -08:00
Igor Vaynberg
76cd145380 fix placeholder sizing. fixes #430 2013-02-14 01:05:28 -08:00
Igor Vaynberg
179ba17174 do not take over mouseup event in dropdown. fixes #857 2013-02-14 00:49:45 -08:00
Igor Vaynberg
c081d0f00c fix placeholder problem. fixes #853 2013-02-13 01:15:05 -08:00
Igor Vaynberg
cd3d7421c4 allow hiding search field permanently. #189 2013-02-12 00:11:24 -08:00
Igor Vaynberg
8868d59176 delay creation of mask until opening. 2013-02-11 22:16:30 -08:00
Kevin Brown
940d1f2d67 Better imitate native touch experience 2013-02-11 20:31:18 -05:00
Igor Vaynberg
9035dfcb93 equal and indexof need to support comparing items of differnet types, ie string vs number. this is needed because numeric ids stored in val() are strings and need to be compared against data ids which are numbers. fixes #840 2013-02-10 15:16:38 -08:00
Igor Vaynberg
b3a0c3269a ignore modifier keys when enter is pressed. fixes #836 2013-02-09 23:55:34 -08:00
Igor Vaynberg
acdbb02498 open multi dropdown on paste. fixes #577 2013-02-09 23:24:09 -08:00
Igor Vaynberg
be76cd9ded Merge pull request #599 from DataDog/master
Update context from callback data on `query` call
2013-02-09 23:05:12 -08:00
Igor Vaynberg
bd1dfbd49d Revert "* Fix of issue 550 Select2 and CSS Transforms: dropdown menu is off position: https://github.com/ivaynberg/select2/issues/550"
This reverts commit ef8c49f85f.
2013-02-09 22:19:59 -08:00
Igor Vaynberg
cf2b696fd9 fire change on clear. fixes #558 2013-02-09 20:39:33 -08:00
Igor Vaynberg
f15583a555 make query() aware of the element select2 is attached to. fixes #561 2013-02-09 20:22:21 -08:00
Bob Burton
ef8c49f85f * Fix of issue 550 Select2 and CSS Transforms: dropdown menu is off position: https://github.com/ivaynberg/select2/issues/550
jquery offset() returns incorrect value when ancestor container has css transform applied to it, causing dropdown to appear in incorrect position.

Using { top: variable.offsetTop, left: variable.offsetLeft } instead of variable.offset() fixes this issue

Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-02-09 19:55:04 -08:00
Igor Vaynberg
6c9aef4bb3 fire selected before close. #835 2013-02-09 19:13:26 -08:00
Igor Vaynberg
a4c76f2dfb added selected and removed events. fixes #835 2013-02-09 16:44:44 -08:00
Igor Vaynberg
d54378563c fix closeOnSelect and maximumSelectionSize combo bug. fixes #672 2013-02-09 15:48:20 -08:00
Igor Vaynberg
6c4b96791d another tweak for css class filtering. #834 2013-02-09 15:14:45 -08:00
Igor Vaynberg
150160f183 sync css classes. fixes #834 2013-02-09 14:29:48 -08:00
Igor Vaynberg
ebc436c42b improve val() handling on multiselect. fixes #654 2013-02-09 09:41:35 -08:00
Igor Vaynberg
2f53c251d4 added params ajax option to pass extra params to transport. fixes #492 2013-02-09 01:20:19 -08:00
Igor Vaynberg
d56f43092b introduce highlight event. fixes #529. fixes #762 2013-02-09 00:45:14 -08:00
Igor Vaynberg
65af98cfed improve dropdown open up/down mode. fixes #589 2013-02-09 00:08:38 -08:00
Igor Vaynberg
640e7066d9 remove the val(' ').val('') work around in firefox as it is no longer needed. fixes #832 2013-02-08 21:53:43 -08:00
Igor Vaynberg
90998d8442 fire open event after the drop has been opened 2013-02-08 12:21:06 -08:00
Igor Vaynberg
d04d127cab fix triggering of unwated change. #824 2013-02-08 09:49:44 -08:00
Igor Vaynberg
0a201b07a5 Fixed 'width' and 'containerCss' incompatibility. fixes #828 2013-02-08 09:40:47 -08:00
Igor Vaynberg
69d4e0896d Fixed 'width' and 'containerCss' incompatibility. fixes #828 2013-02-08 09:34:09 -08:00
Igor Vaynberg
ef364d2118 better handling of first character typed. fixes #196 2013-02-08 09:33:18 -08:00
Igor Vaynberg
3be3188853 fix bug in destroy method that would keep the original element hidden. fixes #815 2013-02-07 16:20:29 -08:00
Igor Vaynberg
3ec535ec5b make search work with chinese/japanese imes. fixes #814 2013-02-07 16:17:44 -08:00
Igor Vaynberg
275e094dff fix infinite recursion on focus. fixes #816 2013-02-07 16:16:26 -08:00
Stanislav Lesnikov
946a1c6329 Add missing semicolons 2013-02-08 00:46:29 +01:00
Igor Vaynberg
270d4bad07 default initSelection in tags mode instead of overriding it. fixes #811 2013-02-06 15:26:19 -08:00
Igor Vaynberg
d1e9531a0a use a form of attr that will always set the value. fixes #810 2013-02-06 14:02:15 -08:00
Igor Vaynberg
4ba14bbf01 disable ajax caching, fixes #807 2013-02-05 21:28:33 -08:00
Igor Vaynberg
b55efddf07 pass escape markup into formatResult 2013-02-05 17:25:32 -08:00
Igor Vaynberg
e78dc69a6b call escape markup on results 2013-02-05 15:16:21 -08:00
Igor Vaynberg
c90bfc3e22 Merge pull request #702 from skivvies/master
allow passing a function for maximumSelectionSize
2013-02-05 15:05:57 -08:00
Igor Vaynberg
81a0e2610a improve placeholder management. fixes #712 2013-02-05 15:02:43 -08:00
Igor Vaynberg
df2aaa0cfc disable focus-via-tab when disabled. fixes #614 2013-02-05 14:50:06 -08:00
Igor Vaynberg
8332d6a7e9 fix more hierarchical selection bugs. fixes #775 2013-02-01 15:21:07 -08:00
Igor Vaynberg
ecbdc9305b minor optimization. #787 2013-02-01 12:27:30 -08:00
Igor Vaynberg
5374b8799b sync disabled and readonly statuses off original element even post creation 2013-02-01 12:21:28 -08:00
Igor Vaynberg
22dba24881 fix selectOnBlur when closed by means other then tab key. fixes #470 2013-02-01 11:09:08 -08:00
Igor Vaynberg
a19e33e3af ignore configured placeholder on selects without first empty option. fixes #785 2013-02-01 10:46:40 -08:00
Igor Vaynberg
76295bb5e9 use the dropdown mask to close open flyouts instead of a global listener. also move the original element off screen instead of hiding it so clicking a label focuses select2 instance 2013-01-31 23:58:42 -08:00
Igor Vaynberg
c66a91a9bb allow '0' vals to be set. fixes #646 2013-01-31 17:10:30 -08:00
Igor Vaynberg
32249cc7f0 better support orientation change on mobile. #782 2013-01-31 16:45:43 -08:00
Igor Vaynberg
300e99fcd5 Merge pull request #756 from socialceramics/url-function-with-arguments
Ajax `url` option (when function) now called with same arguments and context as `data` option
2013-01-31 14:31:32 -08:00
Igor Vaynberg
4482c2af85 by default do not trigger change from val. #771 #619 2013-01-31 14:25:51 -08:00
Igor Vaynberg
273ec1438e Merge pull request #771 from phtrivier/issue-619
#619 : val takes an optional argument to avoid triggering 'change'
2013-01-31 14:24:45 -08:00
Igor Vaynberg
3f87728f7f fix highlighting bugs introduced by disabled option support. fixes #765 closes #775 2013-01-31 13:15:46 -08:00
Igor Vaynberg
7a006a7259 fix scroll event handling since it doesnt bubble. also add a shim behind the dropdown, this allows it to properly close even when used inside modals. sometimes modals will place their own shim that closes the modal and aborts the default mousedown event. in such cases the modal would close but the dropdown element would still float on the screen now detached and the only way to close it would be to make a selection 2013-01-31 10:52:18 -08:00
Igor Vaynberg
3f14f773f9 dont error out when 'x' is removed really fast multiple times. fixes #745 2013-01-30 22:39:03 -08:00
Igor Vaynberg
db39cdf584 remove dead code. fixes #772 2013-01-30 22:29:19 -08:00
Igor Vaynberg
ee01ab79ad fixes #770 2013-01-30 22:23:18 -08:00
Igor Vaynberg
c270d3e4a3 do not close the dropdown on resize or scroll, instead keep it positioned. fixes #753 #669 #719 2013-01-30 21:49:57 -08:00
phtrivier
cf095d9fee #619 : val takes an optional argument to avoid triggering 'change' 2013-01-30 10:21:40 +01:00
Barry Coughlan
89d583736a Fix issue introduced by 20950e0f0c.
Selected items and other invisible items were not ignored by highlightUnderEvent when calculating index.
This caused highlighting of incorrect items when the list contained hidden items.
2013-01-29 18:45:33 +00:00
Jason Purcell
56631aa09f adding defensive check for existence of select2 on the target element during the document mousedown/touchend events 2013-01-28 15:01:17 -05:00
Jason Purcell
67af5a43f1 ajax url function is now passed same arguments and called with same context as data option 2013-01-25 12:40:17 -05:00