Metadata
- Source
- FLUID-3527
- Type
- Task
- Priority
- Blocker
- Status
- Closed
- Resolution
- Fixed
- Assignee
- y z
- Reporter
- Justin Obara
- Created
2010-03-17T10:53:43.000-0400 - Updated
2011-01-30T11:58:20.309-0500 - Versions
- N/A
- Fixed Versions
-
- 1.2
- Component
-
- Framework
Description
Upgrade to jQuery 1.4.2 and jQuery UI 1.8
Also should update Qunit if a new version is available.
We are currently waiting for jQuery UI 1.8 final to be released before upgrading.
At this time we should also update to the latest A-grade support.
Comments
-
Justin Obara commented
2010-03-17T12:05:50.000-0400 Bug Parade Engage 0.3
-
Justin Obara commented
2010-03-24T15:23:19.000-0400 Just running through the unit tests found these issues.
1) jquery.keyboard-a11y
⁃ 8.4 Died on test#4: handler is undefined **FIXED** (bug in the test, was using the old keyboard a11y api)
2) InlineEdit
⁃ lots, about a quarter of them fail mostly with autosubmit
3) ImageReorderer (lightbox)
⁃ lots, has to do with cacheing
4) LayoutReorderer
⁃ half, has to do with cacheing
5) ReorderList
⁃ 2 thirds, has to do with cacheing
6) TextfieldSlider
⁃ all, can't locate and init slider **FIXED** (missing jquery.ui.mouse.js)
7) UIOptions
⁃ all, possibly because of the textfieldSlider **FIXED** (missing jquey.ui.mouse.js) -
Justin Obara commented
2010-03-24T16:51:44.000-0400 Manual tests
------------------
1) dynamic-reorderer- fluid.dom.computeAbsolutePosition is not a function
-
Justin Obara commented
2010-03-24T17:34:22.000-0400 Components
------------------ UI Options
- base is not a constructor (jquery.ui.widget.js) **FIXED**
- can't locate slider **FIXED**
- Inline edit
- in edit mode the text from view mode isn't displayed
- reorderer
- reordering doesn't work
- UI Options
-
y z commented
2010-03-25T14:45:34.000-0400 Patch for the issue that updates integration demos.
-
Justin Obara commented
2010-03-25T14:58:34.000-0400 Committed Yura's patch FLUID-3527-ID.txt
-
y z commented
2010-03-26T11:14:44.000-0400 This is a patch for standalone demos.
-
y z commented
2010-03-26T13:05:32.000-0400 Turns out slider also needs jquery.ui.mouse. Now All unit tests pass
-
Eli Cochran commented
2010-03-26T15:53:59.000-0400 the major issue with the inlineEdit component with jQuery 1.4.2 is that the text of the element gets lost when the edit field instantiates.
-
Justin Obara commented
2010-03-29T10:49:25.000-0400 Inline Edit issues
=============line: 578
file: InlineEdit.jsProblem: the call to index returns 0 instead of -1 when the element passed in is null or undefined.
http://api.jquery.com/index/Reorderer issues
=============line: 248
file: GeometricManager.jsProblem: .data("") is now .data()
line: 310
file: GeometricManager.jsProblem: $.data(element) no longer returns a unique id
jQuery ui issues
=============jQuery ui files have all been renamed to have "jquery." in front.
jQuery has added in a new files and dependencies:
jquery.ui.accordion.js depends on jquery.ui.core.js, jquery.ui.widget.js
jquery.ui.dialog.js depends on jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.position.js
jquery.ui.draggable.js depends on jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js
jquery.ui.slider.js depends on jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.jsjquery.ui.tabs.js requires new makup. This is only used in a demo though.
http://jqueryui.com/demos/tabs/ -
Antranig Basman commented
2010-03-29T11:05:35.000-0400 InlineEdit failures (in tests) are caused by a jQuery APi change for 1.4 - the "index" method, as well as accepting an element, now will also function in a mode with "no argument", interpreting this search as for the index of the wrapped node within its siblings in the DOM. We now need to guard the operation in inlineEdit.js which supplies a sometimes empty "source" argument.
Review for other uses of jQuery.index within the framework and deliverables:
GeometricManager.js 456: var index = $(elements).index(element) + folded;
Looks safe, no apparent route for "element" to be null, and line 460 will blow if it isjquery.keyboard-a11y.js 323: var newIndex = selectionContext.selectables.index(elementToSelect);
Call to selectElement is guarded against null elementToSelect at line 486, the other call is via evt.target at line 337jquery-ui-accessible-tabs.js 32 and 50 tablist.tabs('select', tabs.index(tabToSelect));
This usage doesn't appear correct... the argument to the activatable function, as per implementation and docs, should be a browser event and not an element. How is this sample currently working? -
Antranig Basman commented
2010-03-29T11:43:42.000-0400 Previous versions of jQuery.data() would allow us to get access to the private id associated with a DOM node. It appears that this API was considered "undocumented" and this functionality was removed in jQuery 1.4 - there no longer appears to be any way to get access to this information. Accordingly, we will fall back on a strategy based on a physical DOM id, operated by fluid.allocateSimpleId (this API did not exist at the time GeometricManager was designed). We had hoped to avoid disrupting the DOM in this way but over time the use of this new API has proved apparently safe and stable and is used throughout the framework. All Reorderer automated tests now pass again - fix for GeometricManager.js at revision 9743
-
Colin Clark commented
2010-03-30T18:40:56.000-0400 Last, minor issue to resolve before closing this issue: upgrading to the newest version of QUnit. Yura is in the process of working on this.
-
y z commented
2010-03-31T17:16:35.000-0400 this patch has an example of a broken unit test due to the updated qunit.
-
Colin Clark commented
2010-04-07T11:14:00.000-0400 I've reviewed Antranig's change to InlineEdit.js at r9742 related to the jQuery 1.4.2 upgrade and it looks good.
-
Colin Clark commented
2010-04-07T11:15:08.000-0400 I've reviewed Antranig's changed to GeometricManager.js at r9743 and they look good.
-
Justin Obara commented
2010-04-15T09:17:25.000-0400 jQuery and jQuery UI have been updated and are part of the 1.2 release
-
Michelle D'Souza commented
2011-01-30T11:56:35.583-0500 Reopening these issues to add the frameworkcomponent