From: <jon...@us...> - 2012-01-02 19:11:13
|
Revision: 39368 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=39368&view=rev Author: jonnybradley Date: 2012-01-02 19:11:07 +0000 (Mon, 02 Jan 2012) Log Message: ----------- [FIX] update jquery-ui-selectmenu to latest Modified Paths: -------------- third_party/jquery/jquery-tiki-readme.txt third_party/jquery/jquery-ui-selectmenu/readme third_party/jquery/jquery-ui-selectmenu/themes/base/jquery.ui.selectmenu.css third_party/jquery/jquery-ui-selectmenu/ui/jquery.ui.selectmenu.js Modified: third_party/jquery/jquery-tiki-readme.txt =================================================================== --- third_party/jquery/jquery-tiki-readme.txt 2012-01-02 19:01:36 UTC (rev 39367) +++ third_party/jquery/jquery-tiki-readme.txt 2012-01-02 19:11:07 UTC (rev 39368) @@ -6,6 +6,7 @@ Update: jquery.js & jquery.min.js 1.6.2 to 1.6.4 + jquery-ui-selectmenu to latest "dev" version 1.9 jonnybradley 8 December 2011 Modified: third_party/jquery/jquery-ui-selectmenu/readme =================================================================== --- third_party/jquery/jquery-ui-selectmenu/readme 2012-01-02 19:01:36 UTC (rev 39367) +++ third_party/jquery/jquery-ui-selectmenu/readme 2012-01-02 19:11:07 UTC (rev 39368) @@ -7,10 +7,14 @@ This is an improved version of the jQuery UI selectmenu widget originally developed by Scott (filament group): http://filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select/ +There is a new UI 1.9.x compatible, built from scratch version, please see issue #140. + DOWNLOAD Latest version: https://github.com/fnagel/jquery-ui/zipball/selectmenu -Stable version (v1.1.0): https://github.com/fnagel/jquery-ui/zipball/selectmenu_v1.1.0 +Stable version (v1.2.0): https://github.com/fnagel/jquery-ui/zipball/selectmenu_v1.2.0 +Both versions come with jQuery 1.6.2 and jQuery UI 1.8.16. + SUPPORT Please use GitHub issues for bug tracking and take a look at the Wiki at: http://github.com/fnagel/jquery-ui/issues/labels/_selectmenu Modified: third_party/jquery/jquery-ui-selectmenu/themes/base/jquery.ui.selectmenu.css =================================================================== --- third_party/jquery/jquery-ui-selectmenu/themes/base/jquery.ui.selectmenu.css 2012-01-02 19:01:36 UTC (rev 39367) +++ third_party/jquery/jquery-ui-selectmenu/themes/base/jquery.ui.selectmenu.css 2012-01-02 19:11:07 UTC (rev 39368) @@ -6,19 +6,15 @@ .ui-selectmenu-menu ul { padding:0; margin:0; list-style:none; position: relative; overflow: auto; overflow-y: auto ; overflow-x: hidden; } .ui-selectmenu-open { display: block; } .ui-selectmenu-menu-popup { margin-top: -1px; } -.ui-selectmenu-menu-dropdown { } .ui-selectmenu-menu li { padding:0; margin:0; display: block; border-top: 1px dotted transparent; border-bottom: 1px dotted transparent; border-right-width: 0 !important; border-left-width: 0 !important; font-weight: normal !important; } -.ui-selectmenu-menu li a,.ui-selectmenu-status { line-height: 1.4em; display: block; padding: .405em 1em; outline:none; text-decoration:none; } +.ui-selectmenu-menu li a,.ui-selectmenu-status { line-height: 1.4em; display: block; padding: .405em 2.1em .405em 1em; outline:none; text-decoration:none; } .ui-selectmenu-menu li.ui-state-disabled a, .ui-state-disabled { cursor: default; } .ui-selectmenu-menu li.ui-selectmenu-hasIcon a, .ui-selectmenu-hasIcon .ui-selectmenu-status { padding-left: 20px; position: relative; margin-left: 5px; } .ui-selectmenu-menu li .ui-icon, .ui-selectmenu-status .ui-icon { position: absolute; top: 1em; margin-top: -8px; left: 0; } .ui-selectmenu-status { line-height: 1.4em; } -.ui-selectmenu-open li.ui-selectmenu-item-focus a { } -.ui-selectmenu-open li.ui-selectmenu-item-selected { } .ui-selectmenu-menu li span,.ui-selectmenu-status span { display:block; margin-bottom: .2em; } .ui-selectmenu-menu li .ui-selectmenu-item-header { font-weight: bold; } -.ui-selectmenu-menu li .ui-selectmenu-item-content { } .ui-selectmenu-menu li .ui-selectmenu-item-footer { opacity: .8; } /* for optgroups */ .ui-selectmenu-menu .ui-selectmenu-group { font-size: 1em; } Modified: third_party/jquery/jquery-ui-selectmenu/ui/jquery.ui.selectmenu.js =================================================================== --- third_party/jquery/jquery-ui-selectmenu/ui/jquery.ui.selectmenu.js 2012-01-02 19:01:36 UTC (rev 39367) +++ third_party/jquery/jquery-ui-selectmenu/ui/jquery.ui.selectmenu.js 2012-01-02 19:11:07 UTC (rev 39368) @@ -1,5 +1,5 @@ /* - * jQuery UI selectmenu version 1.2.0 + * jQuery UI selectmenu dev version * * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT (MIT-LICENSE.txt) @@ -30,6 +30,7 @@ maxHeight: null, icons: null, format: null, + escapeHtml: false, bgImage: function() {}, wrapperElement: "<div />" }, @@ -131,9 +132,14 @@ case $.ui.keyCode.TAB: ret = true; break; + case $.ui.keyCode.PAGE_UP: case $.ui.keyCode.HOME: self.index(0); break; + case $.ui.keyCode.PAGE_DOWN: + case $.ui.keyCode.END: + self.index(self._optionLis.length); + break; default: ret = true; } @@ -145,15 +151,17 @@ } return true; }) - .bind('mouseover.selectmenu focus.selectmenu', function() { - if (!o.disabled) { - $(this).addClass(self.widgetBaseClass + '-focus ui-state-hover'); - } + .bind('mouseover.selectmenu', function() { + if (!o.disabled) $(this).addClass('ui-state-hover'); }) - .bind('mouseout.selectmenu blur.selectmenu', function() { - if (!o.disabled) { - $(this).removeClass(self.widgetBaseClass + '-focus ui-state-hover'); - } + .bind('mouseout.selectmenu', function() { + if (!o.disabled) $(this).removeClass('ui-state-hover'); + }) + .bind('focus.selectmenu', function() { + if (!o.disabled) $(this).addClass('ui-state-focus'); + }) + .bind('blur.selectmenu', function() { + if (!o.disabled) $(this).removeClass('ui-state-focus'); }); // document click closes menu @@ -272,21 +280,19 @@ // serialize selectmenu element options var selectOptionData = []; - this.element - .find('option') - .each(function() { - var opt = $(this); - selectOptionData.push({ - value: opt.attr('value'), - text: self._formatText(opt.text()), - selected: opt.attr('selected'), - disabled: opt.attr('disabled'), - classes: opt.attr('class'), - typeahead: opt.attr('typeahead'), - parentOptGroup: opt.parent('optgroup'), - bgImage: o.bgImage.call(opt) - }); + this.element.find('option').each(function() { + var opt = $(this); + selectOptionData.push({ + value: opt.attr('value'), + text: self._formatText(opt.text()), + selected: opt.attr('selected'), + disabled: opt.attr('disabled'), + classes: opt.attr('class'), + typeahead: opt.attr('typeahead'), + parentOptGroup: opt.parent('optgroup'), + bgImage: o.bgImage.call(opt) }); + }); // active state class is only used in popup style var activeClass = (self.options.style == "popup") ? " ui-state-active" : ""; @@ -419,13 +425,10 @@ // reset height to auto this.list.css( 'height', 'auto' ); var listH = this.listWrap.height(); - // calculate default max height - if ( o.maxHeight && o.maxHeight < listH ) { - this.list.height( o.maxHeight ); - } else { - var winH = $( window ).height() / 3; - if ( winH < listH ) this.list.height( winH ); - } + var winH = $( window ).height(); + // calculate default max height + var maxH = o.maxHeight ? Math.min( o.maxHeight, winH ) : winH / 3; + if ( listH > maxH ) this.list.height( maxH ); // save reference to actionable li's (not group label li's) this._optionLis = this.list.find( 'li:not(.' + self.widgetBaseClass + '-group)' ); @@ -439,6 +442,9 @@ // update value this.index( this._selectedIndex() ); + + // set selected item so movefocus has intial state + this._selectedOptionLi().addClass(this.widgetBaseClass + '-item-focus'); // needed when selectmenu is placed at the very bottom / top of the page window.setTimeout( function() { @@ -470,7 +476,6 @@ _typeAhead: function( code, eventType ) { var self = this, c = String.fromCharCode(code).toLowerCase(), - items = this.list.find( 'li a' ), matchee = null, nextIndex = null; @@ -508,11 +513,10 @@ this._selectedOptionLi().data('index') : this._focusedOptionLi().data('index')) || 0; - for (var i = 0; i < items.length; i++) { - var thisText = items.eq(i).text().substr(0, matchee.length).toLowerCase(); + for (var i = 0; i < this._optionLis.length; i++) { + var thisText = this._optionLis.eq(i).text().substr(0, matchee.length).toLowerCase(); if ( thisText === matchee ) { - if ( self._typeAhead_cycling ) { if ( nextIndex === null ) nextIndex = i; @@ -532,7 +536,7 @@ // index? Because we don't what is the exact action to do, it // depends if the user is typing on the element or on the popped // up menu - items.eq(nextIndex).trigger( eventType ); + this._optionLis.eq(nextIndex).find("a").trigger( eventType ); } self._typeAhead_timer = window.setTimeout(function() { @@ -624,9 +628,14 @@ this.open(event); } }, - + _formatText: function(text) { - return (this.options.format ? this.options.format(text) : text); + if (this.options.format) { + text = this.options.format(text); + } else if (this.options.escapeHtml) { + text = $('<div />').text(text).html(); + } + return text; }, _selectedIndex: function() { @@ -662,7 +671,7 @@ (amt > 0) ? ++amt : --amt; this._moveSelection(amt, newIndex); } else { - return this._optionLis.eq(newIndex).trigger('mouseup'); + this._optionLis.eq(newIndex).trigger('mouseover').trigger('mouseup'); } } }, @@ -701,7 +710,7 @@ }, _scrollPage: function(direction) { - var numPerPage = Math.floor(this.list.outerHeight() / this.list.find('li:first').outerHeight()); + var numPerPage = Math.floor(this.list.outerHeight() / this._optionLis.first().outerHeight()); numPerPage = (direction == 'up' ? -numPerPage : numPerPage); this._moveFocus(numPerPage); }, @@ -851,7 +860,6 @@ var selected = this._selectedOptionLi(); var _offset = "0 " + ( this.list.offset().top - selected.offset().top - ( this.newelement.outerHeight() + selected.outerHeight() ) / 2); } - // update zIndex if jQuery UI is able to process this.listWrap .zIndex( this.element.zIndex() + 1 ) .position({ @@ -860,7 +868,7 @@ my: o.positionOptions.my, at: o.positionOptions.at, offset: o.positionOptions.offset || _offset, - collision: o.positionOptions.collision || 'flip' + collision: o.positionOptions.collision || o.style == "popup" ? 'fit' :'flip' }); } }); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |