Commit Graph

561 Commits

Author SHA1 Message Date
Mottie
146a5ff2ea Grunt build: Use string replace to update version # 2015-02-20 18:48:25 -06:00
Mottie
b71c1fe681 Event unbinding: change trim to replace spaces
the problem in jQuery 1.7-1.8 was any double spaces within a list of event names would cause the unbind to remove all event bindings - see http://jsfiddle.net/Mottie/zL6uory0/2/
2015-02-20 16:17:29 -06:00
Mottie
ff3701f63b Core: minor tweak 2015-02-20 16:17:17 -06:00
Mottie
6fa4a513be Core: make jsHint happy 2015-02-20 14:35:29 -06:00
Mottie
b9b09922a3 Merge branch 'working' into build 2015-02-20 10:54:52 -06:00
prijutme4ty
34567c0ccb Make +config.cache+ indexed the same way as +config.$tbodies+ is, i.e. ignore info blocks.
Remove unused var, rename some local vars into more specific ones;
2015-02-20 14:41:28 +03:00
Ilya Vorontsov
c2f39080d2 Update jquery.tablesorter.js
fix little bug in new getElementText
2015-02-18 21:41:28 +03:00
Mottie
2065d0c8f1 Core: Fix noSort 2015-02-17 16:37:06 -06:00
Mottie
df97b1db8e Core: remove cssAllowClicks default 2015-02-17 16:22:03 -06:00
Mottie
0c8aa7e225 Core: remove cssAllowClicks & update cssNoSort 2015-02-17 16:10:52 -06:00
Mottie
39f50d90c9 Core: add cssNoSort option 2015-02-17 14:49:23 -06:00
Mottie
764426d2c4 Core: make getElementText function public 2015-02-15 16:43:20 -06:00
Mottie
2774abf8d8 Build: Add grunt build process
Rearranged, renamed & broke apart other files
2015-02-12 21:10:38 -06:00
Mottie
5263aa75ae Core: make core compatible with jQuery v1.2.6 again 2015-02-12 21:03:36 -06:00
Mottie
5e8953d901 Core: fix broken unbinding of events 2015-02-11 18:18:28 -06:00
Mottie
c4a84f3dd5 version bump 2015-02-09 18:44:47 -06:00
Mottie
9993d77f38 Core/widgets: update unbinding events to prevent removing all binds
This appears to be a jQuery bug when unbinding events in versions between 1.7 & 1.8 - see http://jsfiddle.net/Mottie/zL6uory0/
2015-02-09 17:12:40 -06:00
Mottie
fec49e144a Core: save raw table cell data 2015-02-09 15:23:51 -06:00
Mottie
9ff5a2ef5f Core: replaced quotes with single quotes
Because I couldn't suppress my OCD any longer
2015-02-09 15:18:41 -06:00
Mottie
9b32f0c5f6 version bump 2015-02-07 00:46:44 -06:00
Mottie
b5f931ec17 Merge branch 'master' into working 2015-02-04 07:36:09 -06:00
prijutme4ty
d96d6ba11b fix check which can cause unresolving parsers in case that first tbody is empty and consequent tbodies have less rows than a number of tbody 2015-02-04 13:49:01 +03:00
Mottie
9845a692e2 Core: updateAll method no longer restores headers 2015-02-02 11:33:20 -06:00
Mottie
491b0c17a9 Core: trim header text added to aria label 2015-02-02 11:12:56 -06:00
Mottie
9202a900e7 Core: Prevent adding multiple icons on refresh 2015-02-02 10:57:27 -06:00
Mottie
a031bcc9e0 Core: Add resort option
It is used as the fallback value when no resort parameter is included with the "updateAll", "update", "addRows" and "updateCell" methods. Also, modified the "updateCell" method to not reapply widgets if resort is false; this may resolve issue with widgets causing elements to lose focus
2015-01-28 23:32:21 -06:00
Mottie
f1961efe8f Widgets: modify remove functions for refreshing widgets
renamed parameter from "temp" to "refreshing" & updated docs
2015-01-25 11:01:07 -06:00
Mottie
857e275aab Core: add removeWidget & refreshComplete
Updated addWidget, applyWidget & refreshWidgets
2015-01-23 23:09:32 -06:00
Mottie
87c9c6645f Core: prevent resort when serverSideSorting is true. Fixes #764
Add AMD functions to jshint globals & general cleanup
2015-01-22 07:58:19 -06:00
Mottie
3213d16867 Core: optimize textExtraction function
Reduced comparisons & moved "simple" textExtraction before checks for textExtraction functions & using getColumnData, to further speed up processing time
2015-01-20 12:31:19 -06:00
Mottie
b9ddc1849d Docs: remove uitheme widgetOption & update comments 2015-01-15 07:59:27 -06:00
Mottie
6cd67973cc Core: make fixColumnWidth a public function
Add class name to colgroup when programmically added so calling the $.tablesorter.fixColumnWidth function can determine when to refresh the set col widths
2015-01-14 13:20:31 -06:00
Mottie
61b339dd3b Core/Filter: remove widget temp parameter added indicating refreshWidgets was trigger 2015-01-11 20:02:39 -06:00
Mottie
d3fc919bc3 Merge branch 'master' into working 2015-01-04 13:28:17 -06:00
Michael Wiencek
15b2a789e2 Support for AMD, browserify environments 2015-01-03 20:31:14 -06:00
Mottie
ffb5ffc5fd Core: resort variable can now contain a new sort. See #782 2014-12-24 08:18:25 -06:00
Mottie
cdb766f8d9 version bump 2014-12-22 21:12:59 -06:00
Mottie
008d4d6f8b Core: allow passing alternate headers to getColumnData function 2014-11-29 18:38:42 -06:00
Mottie
fe496c68cb Core: Add cssIgnoreRow option
c.$headers will not include cells from this row
2014-11-29 18:38:41 -06:00
Mottie
5ef1781aba version bump 2014-11-07 19:32:10 -06:00
Mottie
830fd91129 Core: widthFixed option will no longer target nested table colgroup elements 2014-11-06 10:33:07 -06:00
Mottie
da2a0d9958 Core: add cssIcon class name options for no, asc & desc sorts 2014-11-05 14:29:27 -06:00
Mottie
e07ce8146f version bump & added FORK notes 2014-11-03 17:45:53 -06:00
Mottie
363f083682 version bump 2014-11-03 10:56:46 -06:00
Mottie
5d53939cb0 Core: a column can now be targetting using a class name within the header cell 2014-10-30 21:23:49 -05:00
Mottie
278fbccad7 Core: add cssAllowClicks option 2014-10-27 19:50:41 -05:00
Mottie
3b2742f475 version bump 2014-10-26 19:11:12 -05:00
Mottie
5a00bf2bb7 Core: update widgetClass option matching. See #743 2014-10-18 15:05:23 -05:00
Mottie
19d85b83f2 Core: aria-labelledby attribute no longer added with nested captions 2014-10-16 10:23:32 -05:00
Mottie
e649b0a63c Core: Add widgetClass option & fix debug logs for applying widgets. Fixes #743 2014-10-10 20:50:51 -05:00
Mottie
5cd7b33df7 Core: get column index from data-attribute when sorting 2014-10-10 07:54:25 -05:00
Mottie
317d0585ad Core: fix ARIA caption label reference 2014-10-02 12:07:22 -05:00
Mottie
065342b825 Parsers: Update all date parsers to ensure valid dates 2014-09-30 16:20:04 -05:00
Mottie
121e275ec8 Core: add config & jQuery table object parameters to onRenderHeader function 2014-09-27 11:28:40 -05:00
Mottie
195f4fca77 Core parser updates
Added $node to parser "is" parameter, add image parser to core, moved ipAddress to external file & add MAC address parser to renamed parser-network.js file
2014-09-16 23:36:17 -05:00
Mottie
08bf513acd version bump 2014-09-15 19:44:03 -05:00
Mottie
d4d96e85f1 Core: an empty string headerTemplate option will now prevent adding an inner div to the header 2014-09-12 11:08:39 -05:00
Mottie
2ac4333351 Core: Make emptyTo & stringTo settings case insensitive 2014-09-08 16:59:34 -05:00
Mottie
0531b3207b Parser: ensure url parser is used by filter widget 2014-09-08 07:36:22 -05:00
Mottie
3aa474012d Zebra: apply style one row. Fixes #715 2014-09-02 09:23:41 -05:00
Mottie
988043fb58 Core: fix widthFixed option not ignoring info block tbodies 2014-08-26 19:25:55 -05:00
Mottie
346d8cb64b Pager: update cache & rows copy. Fixes #703 2014-08-12 10:35:46 -05:00
Mottie
c1ce0768d7 version bump 2014-08-09 11:30:02 -05:00
Mottie
388f20f072 Core: do not detach rows before appending to prevent ajax rows from disappearing. Fixes #701 2014-08-04 07:56:43 -05:00
Mottie
526a869b49 version bump & cleanup 2014-08-01 21:31:33 -05:00
Mottie
972621db6e Core: delay any sort during an update 2014-08-01 11:58:02 -05:00
Mottie
56054eaede Core: widthFixed option now finds both visible td & th cells 2014-07-27 19:31:09 -05:00
Mottie
1d3b236db1 Core: ensure all rows have a set role for screen readers. Fixes #690 2014-07-25 22:12:28 -05:00
Justin F. Hallett
b92952121b Add extractor type which uses parsers but gets applied before a parser, gives us the option to have 2 parsers in a predetermined order. Very good for input fields that require a parser like shortDate for example. 2014-07-24 14:31:20 -06:00
Mottie
d0c8856582 Core: redefine c.$headers when building headers for new/replaced header cells. Fixes #683 2014-07-24 13:28:11 -05:00
Mottie
98be14f808 Parsers: ensure custom parsed data adheres to ignoreCase option 2014-07-23 12:14:11 -05:00
Mottie
22a2841f9c parser-false: automatically set sorter-false & filter-false behavior 2014-07-21 18:43:01 -05:00
Mottie
e861f6c3fc Cleanup & version bump 2014-07-17 12:40:11 -05:00
Mottie
9e1746cc2f Core: ensure widget init function is only called once; and set for hasWidget 2014-07-17 07:49:09 -05:00
Mottie
e0ecda6423 Core: add config.table variable 2014-07-15 12:42:20 -05:00
Mottie
ed5a86ffad Core: update config.totalRows variable before initialization. Fixes #670 2014-07-15 12:42:10 -05:00
Mottie
6de1009af8 version bump 2014-07-04 07:36:50 -05:00
Mottie
de3e721ecb Core: add $.tablesorter.hasWidget() function
also updating docs for accessing config.totalRows & config.filteredRows
2014-07-03 13:33:36 -05:00
Mottie
197af4fc31 version bump 2014-06-28 23:04:50 -05:00
Mottie
a10f0decf7 Core: add tablesorter-processing class name to table during processing. Fixes #655 2014-06-21 14:02:49 -05:00
Mottie
d9cb97f1e6 version bump 2014-06-18 16:07:29 -05:00
Mottie
8cd27bb65f Core: clearTableBody function now detachs rows instead of the tbody 2014-06-16 22:39:05 -05:00
Mottie
c09945c60c version bump 2014-05-28 19:22:11 -05:00
Mottie
26db918be7 Core: add parser-false setting. Fixes #629 2014-05-28 07:29:43 -05:00
Mottie
06bbea7544 Core: allow use of select & buttons in the header. Fixes #625 2014-05-26 17:04:51 -05:00
Mottie
fcebad5a0f version bump 2014-05-22 07:53:29 -05:00
Mottie
70bd231ba4 Core: include resetToLoadState in destroy method 2014-05-16 13:47:03 -05:00
Mottie
9657255429 Core: Refer textExtraction by header class/id 2014-05-16 13:38:56 -05:00
Mottie
4627f214b8 Core: Refer headers option by header class/id 2014-05-16 13:38:55 -05:00
Mottie
c36bba643a Core: remove widgets before resetToLoadState 2014-05-16 13:30:01 -05:00
Mottie
42f363c96f Add resetToLoadState method 2014-05-16 13:23:42 -05:00
Mottie
bf94978dd2 Core: new sorton values "a", "d", "n", "s" & "o" 2014-05-13 10:45:32 -05:00
Mottie
9c0017d44e Core & pager: use detach instead of empty on tbody rows 2014-05-08 12:07:13 -05:00
Mottie
35ec1d87eb version bump & cleanup jsHint errors 2014-05-05 20:52:17 -05:00
Mottie
e23700eb0b version bump 2014-04-30 21:50:31 -05:00
Mottie
3b5161a5ba Filter: make sure textSorter is getting strings 2014-04-29 07:12:06 -05:00
Mottie
8217871650 Get rid of widget init delay
filter widget was not seeing the table-initialized event
2014-04-29 07:08:21 -05:00
Mottie
687c071c04 Fix headers option indexing of multi-row headers 2014-04-28 21:16:52 -05:00
Mottie
084ef928d5 Check for $.fn.closest & use it. Fixes #597 2014-04-28 13:55:41 -05:00
Mottie
1fd56558e0 show processing icon after 500ms delay 2014-04-27 11:09:23 -05:00
Mottie
f4cded6c6c version bump 2014-04-27 11:01:58 -05:00
Mottie
7278ff91a4 Add internal config.$extraHeaders variable
Updated uitheme, stickyHeaders & scroller widgets
2014-04-27 08:04:39 -05:00
Mottie
d257a015cc Core: add "emptyMin" & "emptyMax" settings to emptyTo option. Fixes #577 2014-04-25 23:16:28 -05:00
Mottie
320b1f1b29 Fix sort direction count
see http://stackoverflow.com/q/23278707/145346
2014-04-24 23:06:20 -05:00
Mottie
cb2435e423 addRows method will now accept a string or jQuery object 2014-04-24 16:16:25 -05:00
Mottie
e658868573 version bump 2014-04-24 13:42:49 -05:00
Mottie
d357389507 Ensure ajax loaded data gets parsed & cached 2014-04-24 13:35:58 -05:00
Mottie
6a6044595e version bump 2014-04-23 19:41:05 -05:00
Mottie
82a8a6852a Apply widgets initially after a short delay 2014-04-23 19:07:14 -05:00
Mottie
b68abf09c1 Check more than first tbody when detecting parsers. Fixes #589 2014-04-23 19:07:09 -05:00
Mottie
3a12af8e85 version bump 2014-04-22 09:39:57 -05:00
Mottie
6d068d347d version bump 2014-04-20 19:39:59 -05:00
Mottie
252feeaaed core: move cached rows into normalized data; updated tests 2014-04-20 09:27:41 -05:00
Mottie
9d107ed983 Prevent numerous consecutive widget applications 2014-04-20 09:20:30 -05:00
Mottie
8d72efd889 Add sortReset method callback 2014-04-19 09:33:10 -05:00
Mottie
872325a458 textExtraction update, add textAttribute & add tests. Fixes #154 2014-04-18 19:57:54 -05:00
Mottie
a26b36142a Make computeColumnIndex function public 2014-04-14 22:04:43 -05:00
Mottie
284b73eaf1 Destroy method now clears cache & pager rows copy 2014-04-10 20:16:22 -05:00
Mottie
8f88f72899 version bump 2014-04-10 10:29:04 -05:00
Mottie
a0e5620c69 Destroy will now maintain applied theme
with false flag set: $("table").trigger("destroy", [false]);
2014-04-10 07:22:23 -05:00
Mottie
44abae9814 version bump 2014-04-03 10:22:19 -05:00
Mottie
f06a546054 Ignore child row if it is the first table row 2014-03-31 17:45:08 -05:00
Mottie
ad4804be47 Fix widgets not applying after update 2014-03-31 15:56:56 -05:00
Mottie
4a984eb681 version bump 2014-03-31 06:14:47 -05:00
Mottie
e25de3c0be Child row updates. Fixes #556 & part of #396
Add tablesorter-hasChildRow
If the last pager row has any child rows, they are now included
Add "filtered" css definition to every theme to hide content
2014-03-31 05:07:19 -05:00
Mottie
a22cfae71c Cell column property has correct value again. Fixes #551 2014-03-29 16:22:07 -05:00
sylvain-hamel
bbd881a879 Replace all references to cell.cellIndex by $(cell).index() to prevent error.
"Unexpected call to method or property access."
see: http://stackoverflow.com/questions/14201168/table-cell-index-problems-in-ie8
closes #551
2014-03-27 13:01:05 -04:00
Mottie
fdae3bfcd5 version bump 2014-03-18 18:13:27 -05:00
Mottie
afe8d3b538 column count now correct with nested tables + tfoot. Fixes #547 2014-03-18 17:56:48 -05:00
Anders Antila
3a8666f0b6 Check if cell have parser to catch undefined error
If you have a table with more table rows than header rows, or use
colspan in the table head then it will fail to find a parser, giving us
a runtime error.
2014-03-17 15:40:20 +01:00
Mottie
694357cd2e version bump 2014-03-13 18:54:55 -05:00
Mottie
e9bbec48b9 Fix numberSorter js error & add test 2014-03-13 18:47:40 -05:00
Mottie
99f53cd26b Filter formatter (jQuery UI) work again 2014-03-12 20:24:29 -05:00
Mottie
ef84efd665 version bump 2014-03-12 16:04:08 -05:00
Mottie
261b009af1 version bump 2014-03-09 21:23:08 -05:00
Mottie
af8111d815 Add namespace option for core & filter events. Fixes #535 2014-03-09 17:09:23 -05:00
Mottie
8269d902d8 natural sort optimization 2014-03-09 11:48:14 -05:00
Mottie
625d60899a Build widget does not inappropriately log an empty table message 2014-03-09 11:48:11 -05:00
Mottie
35be6689fb cleanup & version bump 2014-03-07 12:53:21 -06:00
Mottie
474e446ef8 Events sortEnd & updateComplete fire on empty tables. Fixes #532
Sort events now only fire while sorting, previously they fired when
updating an unsorted table
Updated pager to fire appropriately when using ajax
Added unit tests (non-ajax) events
2014-03-06 20:28:47 -06:00
Mottie
65b74c771a Date parsers now return the original text when encountering invalid dates. Sort of fixes #531 2014-03-05 13:48:20 -06:00
Mottie
7269aadc74 cache natural sort regex 2014-03-03 18:25:43 -06:00
Mottie
0b91b7c586 Update isValueInArray function & sortAppend option. Fixes #523 2014-03-03 18:05:03 -06:00
Mottie
c85bf8bbf4 Destroy now unbinds updateCache properly 2014-02-26 12:12:50 -06:00
Mottie
cf1ea135cb version bump 2014-02-23 00:48:07 -06:00
Mottie
556bcc2d48 version bump 2014-02-22 11:24:14 -06:00
Mottie
873ff61f5f Add "updateCache" method 2014-02-22 10:50:48 -06:00
Mottie
5992089f9d version bump 2014-02-21 17:39:51 -06:00
Mottie
70d3fe57f3 Merge branch 'working' 2014-02-21 17:28:06 -06:00
Mottie
5d0a109efb Sticky header sorting works again. Fixes #508 2014-02-21 17:25:49 -06:00
Mottie
99e14a70a2 correct version 2014-02-20 17:35:26 -06:00
Mottie
8bd77b02f6 version bump 2014-02-20 17:25:49 -06:00
Mottie
a0275e34ad version bump 2014-02-19 17:23:08 -06:00
Mottie
e69101f824 Cleanup & version bump 2014-02-19 13:27:23 -06:00
Mottie
5f366762f7 currency parser update: detect with +/- symbols 2014-02-18 12:40:10 -06:00
Mottie
1686e31cd2 Log now displays console errors and/or warnings based on key words 2014-02-11 00:13:43 -06:00
Mottie
396952b57a Add filter_hideEmpty; Correct pager & widget updating. Fixes #450.
When all rows are removed from the table, ensure widgets are applied
(including refreshing the filter search), and ensure the pager display
updates. Add filter_hideEmpty option to allow setting hiding the filter
row when the table doesn't contain any tbody rows.
2014-02-11 00:09:49 -06:00
Mottie
9598bc87ac consolidate widget default class names 2014-02-11 00:09:35 -06:00
Mottie
46bedcdfed fix destroy method - remove unsorted class name 2014-02-10 23:56:06 -06:00
Mottie
9ca70917df cleanup tablesorter api 2014-02-10 23:46:03 -06:00
Mottie
0e438e4bbd Improve accessibility & add unsorted header class 2014-02-10 23:45:34 -06:00
Mottie
3256926f29 Make header bindEvents function public; update stickyHeaders widget
Use keyup to allow pressing enter on links (if set by selectorSort
option)
Fixed cell targeting - broken in multiple header rows, with disabled
cells (see pager ajax demo)
2014-02-10 23:43:44 -06:00
Mottie
db0d0f5f78 shortDate parser now works properly with header colspans. Fixes #474 2014-02-06 14:40:30 -06:00
Mottie
d1a9f2ee22 version bump 2013-12-16 16:02:59 -06:00
Mottie
173db948c6 version bump 2013-12-14 10:51:14 -06:00
Mottie
328bba34a7 addRows method now works on an empty table. Fixes #450 2013-12-03 17:55:25 -06:00
Mottie
d81d64f418 version bump & cleanup 2013-12-02 13:26:31 -06:00
Mottie
7c5a85c4c2 Refreshing widgets now only applies to previously installed widgets. Fixes #442 2013-11-27 11:09:30 -06:00
Mottie
0d565d3340 version bump 2013-11-25 08:39:30 -06:00
Mottie
651957606d version bump 2013-11-22 20:01:48 -06:00
Mottie
f68b3898c0 more search menu tweaks & version bump 2013-11-19 22:21:16 -06:00
Mottie
c5a7109f2a Modified sorting algorithms; Add sortStable. Fixes #419.
Moved empty cell coding back inside of sort functions; fixes
multi-column sorting with empty cells.
2013-11-19 14:03:34 -06:00
Mottie
118f819d26 Zebra widget now skips removable rows 2013-11-13 20:40:12 -06:00
Mottie
5b57f2f2ee Add tabIndex option. Fixes #415 2013-11-13 16:41:20 -06:00
Mottie
c35b7cef9b remove double icon class names 2013-11-13 16:34:30 -06:00
Mottie
ce7e0836c0 version bump 2013-11-09 14:30:58 -06:00
Mottie
3b333d0d9b Remove rows from table when using pager ajax #411 2013-11-08 23:49:55 -06:00
Mottie
774192bf35 version bump 2013-11-02 11:05:27 -05:00
Mottie
deaee241fe filter widget fixes 2013-10-31 10:06:50 -05:00
Mottie
1cc8b0da33 version bump 2013-10-30 17:59:13 -05:00
Mottie
4990460d0b allow sorting zero value hex (0x00) 2013-10-30 17:59:06 -05:00
Mottie
dc27ec2986 better formatFloat replace method 2013-10-30 17:59:02 -05:00
Mottie
fdc698c97d replace innerHTML with .html(). Fixes #385. 2013-10-18 11:44:09 -05:00
Mottie
ff07d94a7d Added numberSorter option; Modified textSorter option to be set per column 2013-10-17 23:14:17 -05:00
Mottie
c4f10de366 Added pager widget, pager cleanup & filter widget tweaks for ajax. Fixes #388 2013-10-17 23:14:17 -05:00
Mottie
458669a75d Fixed update issues, see #372 2013-10-11 14:33:31 -05:00
Mottie
ca7124518d version & doc updates 2013-10-10 23:18:33 -05:00
Mottie
636ef9c65a Only visible columns will be considered when fixing column widths. Fixes #371 2013-10-10 07:59:40 -05:00
Mottie
c962a7c20d Keep track of initialized widgets & extending widget options. Fixes #330 2013-10-10 07:59:39 -05:00
Mottie
29c5bf4a4d updateComplete should now fire properly, after an ansynchronous ajax call. Fixes #343 2013-10-10 07:59:38 -05:00
Mottie
6b7b842c60 Removed natural sorting of dates. Fixes #373 2013-10-10 07:59:37 -05:00
Mottie
12ca586011 All class names used for finding elements have new "empty" default values. Fixes #381 2013-10-10 07:59:37 -05:00
Mottie
d589d3272e add build table widget 2013-10-10 07:59:37 -05:00
Mottie
88b5a33b34 remove unnecessary false from return false - see #305 2013-10-10 07:59:36 -05:00
Mottie
3323fd92e1 added buildTable script check to core 2013-10-10 07:59:34 -05:00
Mottie
8b23e660e7 cache is now checked properly after delayInit is set true - fixes #346 2013-10-10 07:59:33 -05:00
Mathieu Lemoine
b45ce55f06 Fix: Bug in jquery version comparison: parseFloat does not see 1.10 > 1.4 2013-06-17 11:09:31 -04:00
Mottie
eb48e66684 Added stickyHeaders_includeCaption; fixes #322 2013-06-04 20:11:05 -05:00
Mottie
934b9cb9b5 limit content size when using percent parser detection; fixes #320 2013-06-04 17:09:16 -05:00
Mottie
2af097a0e8 now using proper closest() equivalent; fixes #319 2013-05-31 15:58:22 -05:00