Sam Stephenson
3dd7bd5b4b
prototype: Cross-browser Event#isLeftClick with the addition of is(Middle|Right)Click. Closes #7520 .
2007-10-16 03:19:38 +00:00
Andrew Dupont
6cd34be0c4
* Change Selector to use the non-XPath approach for Safari 3 because of bugs in its version of document.evaluate. [Andrew Dupont]
2007-10-16 03:08:31 +00:00
Andrew Dupont
0dd4ba70f6
* Changed the Selector regex that tests whether the selector can be expressed in XPath; added :checked, since XPath can't detect all scenarios in which an <input> is checked. Fixes #9776 . [StelardActek, kangax, Andrew Dupont]
2007-10-16 02:28:28 +00:00
Andrew Dupont
88f8d3b9af
* Changed Selector pattern match so that descendant combinators after pseudoclass tokens are properly handled. Fixes #9696 . [wiktor, kangax, Andrew Dupont]
2007-10-16 02:21:24 +00:00
Tobie Langel
865ac01937
prototype: Make sure $w always returns an array.
2007-10-15 17:19:16 +00:00
Tobie Langel
0632778884
Add more tests to Hash.
2007-10-14 11:35:59 +00:00
Tobie Langel
941359b2f7
Performance enhancements to . Closes #9464
2007-10-14 11:12:08 +00:00
Tobie Langel
7dda50a7c9
Make Function#argumentNames work with named functions. Closes #9826
2007-10-14 10:54:06 +00:00
Tobie Langel
96af1b7579
Add Object.isHash.
2007-10-14 08:08:42 +00:00
Tobie Langel
d195111a9d
Performance improvements to String#times.
2007-10-13 19:05:19 +00:00
Tobie Langel
db371ddb5a
Make Ajax.Response#getHeaderJSON and Ajax.Response#getResponseJSON pseudo private instance methods.
2007-10-13 11:37:26 +00:00
Tobie Langel
e7bb042aa6
Make ObjectRange use the new Class.create syntax.
2007-10-13 11:24:23 +00:00
Tobie Langel
d25b863c9a
Complete rewrite of the Hash class.
2007-10-13 10:55:52 +00:00
Sam Stephenson
4607e29fa2
prototype: Element#wrap now returns the wrapper instead of the element being wrapped.
2007-10-11 06:11:26 +00:00
Sam Stephenson
115d3e456d
prototype: Namespace all custom event names to avoid conflicts with native DOM events.
2007-10-11 06:00:45 +00:00
Sam Stephenson
c35598ca2b
prototype: Clean up the new class API.
2007-10-11 05:02:07 +00:00
Sam Stephenson
8ca43a5c88
prototype: Fix contentloaded event initialization in IE. Closes #9457 , #9488 , #9707 .
2007-10-08 22:37:15 +00:00
Sam Stephenson
c904fe7664
prototype: Deprecate document.getElementsByClassName and Element#getElementsByClassName since native versions return a NodeList and we can only return an Array. Please use $$ or Element#select instead.
2007-10-08 21:29:27 +00:00
Sam Stephenson
cf88669931
prototype: Fix missing "var" in selector.js. Closes #9761 .
2007-10-08 21:15:46 +00:00
Sam Stephenson
4b1fb7e03a
prototype: Date#toJSON now returns times in UTC for better compatibility with json.js. Closes #9332 .
2007-10-08 21:14:24 +00:00
Sam Stephenson
8cf1f895f7
prototype: Ensure document._getElementsByXPath extends the elements it returns; fixes $$ not returning extended elements in Opera 9.2. Closes #8843 .
2007-10-08 19:01:31 +00:00
Thomas Fuchs
746a905ef4
Add tests for Object.extend and Object.clone.
2007-10-06 12:24:46 +00:00
Thomas Fuchs
cca235b1eb
Prototype: Add a test for Form.Observer.
2007-10-03 17:58:33 +00:00
Thomas Fuchs
6c94af703d
Make sure setting opacity works on elements that have "no layout" in IE.
2007-08-27 18:37:49 +00:00
Sam Stephenson
6ed9095df9
prototype: Simplify Class.create by establishing a prototype chain when subclassing. Closes #9342 .
2007-08-23 21:12:02 +00:00
Sam Stephenson
5d3fd6f3b7
prototype: Fix Ajax.PeriodicalUpdater for compatibility with Ajax.Response. Closes #9321 .
2007-08-21 16:18:07 +00:00
Sam Stephenson
001b54865c
prototype: Ensure that classes always have an initialize method.
2007-08-21 16:15:59 +00:00
Sam Stephenson
6086db40a7
prototype: Update Template, Selector, Ajax.*, and ObjectRange classes to use the new class system.
2007-08-18 23:21:29 +00:00
Sam Stephenson
75b3f3c844
prototype: Change Abstract.TimedObserver to subclass PeriodicalExecuter and tweak its subclasses to use new inheritance functionality. TimedObserver can now be stopped the same way as PeriodicalExecuter. Closes #8589 .
2007-08-18 23:04:28 +00:00
Sam Stephenson
bfba40e0cd
prototype: Fix Class.mixin to extend the class's prototype.
2007-08-18 22:58:13 +00:00
Sam Stephenson
b923d6dd52
prototype: Fix superclass method call breakage from [7337].
2007-08-18 22:55:35 +00:00
Sam Stephenson
702d968841
prototype: Change Class.extend to allow for superclass method resolution and remove Class.inherit. Closes #9274 .
2007-08-17 17:35:22 +00:00
Sam Stephenson
b2f884b4fa
prototype: Event handlers are now bound to the observed element, not the event's target element.
2007-08-17 16:17:26 +00:00
Thomas Fuchs
aa1a7f5bf0
prototype: Define Node constants conditionally after checking for Node.ELEMENT_NODE presence. Add unit test to check the values of all constants. Closes #7625 .
2007-08-17 11:20:56 +00:00
Thomas Fuchs
194fda0b6d
prototype: Make sure Enumerable#include doesnt do type comparision. [Mislav Marohnić]
2007-08-17 11:06:07 +00:00
Thomas Fuchs
1a0f6b3f02
Prototype: update trunk CHANGELOG
2007-08-15 21:30:27 +00:00
Thomas Fuchs
f86ac770d4
Prototype: Add contextmenu to Event.DOMEvents.
2007-08-14 12:05:20 +00:00
Sam Stephenson
d8b8c6586d
prototype: Fix readAttribute-related failure in form.html in IE.
2007-08-14 05:08:18 +00:00
Sam Stephenson
c27f2de373
prototype: Fix failing dom.html and selector.html tests in IE.
2007-08-14 04:14:22 +00:00
Sam Stephenson
c603fc5d42
prototype: Make sure the WebKit redefinition of Element#cumulativeOffset uses Element._returnOffset. Closes #9245 .
2007-08-13 15:15:01 +00:00
Sam Stephenson
11f25aa995
prototype: Make sure Element#observe is always chainable.
2007-08-11 19:53:39 +00:00
Sam Stephenson
d2974cfca3
prototype: Make sure Element#stopObserving is always chainable.
2007-08-11 19:07:21 +00:00
Sam Stephenson
14ea77ef39
prototype: Event.fire/Element#fire now returns the newly-fired event instead of the event's target element.
2007-08-11 18:46:02 +00:00
Sam Stephenson
d7da841c80
prototype: Restrict Event.DOMEvents to include only events that can be supported in all browsers
2007-08-11 18:14:20 +00:00
Sam Stephenson
ffa744e4aa
prototype: Fix a failing test in base.html in Safari 2.
2007-08-11 01:36:20 +00:00
Thomas Fuchs
5f76c255a1
Fix Element#positionedOffset and Element#getOffsetParent for static elements on IE. DOM unit tests now pass on IE.
2007-08-10 14:19:30 +00:00
Sam Stephenson
2fbb49001c
prototype: Make sure event handlers and their wrappers are removed from the cache by Event.stopObserving.
2007-08-09 23:45:59 +00:00
Thomas Fuchs
f3d9cb2579
Add line numbers to failures when unit testing in Firefox. Closes #9231 .
2007-08-09 21:48:14 +00:00
Sam Stephenson
e75cd0acdd
prototype: Fix Function#argumentNames for IE
2007-08-09 00:27:51 +00:00
Sam Stephenson
220f6379f1
prototype: Fix Function#argumentNames for Opera
2007-08-08 23:50:36 +00:00
Sam Stephenson
df71a6b54f
prototype: Add Object.isString, Object.isNumber, and Object.isUndefined, and clean up the source to make use of Object.isXXX where possible.
2007-08-08 23:19:45 +00:00
Sam Stephenson
ae2ab03294
prototype: Add the document.viewport object for querying dimensions and scroll offsets of the browser viewport.
2007-08-08 20:42:46 +00:00
Sam Stephenson
c488384f90
prototype: Add support for brackets in quoted attribute value selectors. Closes #9157 .
2007-08-07 20:33:53 +00:00
Thomas Fuchs
cbaec757e2
Prototype: Fix event extensions and custom events firing for Safari 2.0
2007-08-07 14:55:34 +00:00
Sam Stephenson
30aa7a6532
prototype: Add RegExp.escape for escaping regular expression strings. Closes #9094 .
2007-08-04 07:31:52 +00:00
Sam Stephenson
aa4602b459
prototype: Merge -r7242:HEAD from ../branches/1-6-0-events. Adds support for DOM-based custom events with Event.fire/Element.Methods.fire, cross-browser DOMContentLoaded support, extended and normalized event objects, and improvements to the observe and stopObserving APIs.
2007-08-04 07:20:45 +00:00
Sam Stephenson
52cf3f2550
prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response object which supports the following methods: responseJSON, headerJSON, getHeader, getAllHeaders and handles browser discrepancies in the other response methods. Add sanitizeJSON, evalJS and evalJSON to Ajax.Request. Closes #8122 , #8006 , #7295 .
2007-08-04 04:40:22 +00:00
Sam Stephenson
281ac64876
prototype: Merge -r6792:HEAD from ../branches/inheritance/{src/base.js,test/base.html}. Robust inheritance support for Class.create. Closes #5459 .
2007-08-04 04:03:51 +00:00
Sam Stephenson
90c9c69ff0
prototype: Add Function#argumentNames, which returns an ordered array of the function's named arguments.
2007-07-30 04:38:20 +00:00
Sam Stephenson
5645a0783f
prototype: Add Prototype.Browser.MobileSafari which evaluates to true on the iPhone's browser.
2007-07-26 02:03:40 +00:00
Sam Stephenson
82bedcee84
prototype: Optimize Selector#match and Element#match for simple selectors. Closes #9082 .
2007-07-24 20:49:55 +00:00
Sam Stephenson
a529bcf590
prototype: Remove the dependency on Element.ClassNames from Element#addClassName/removeClassName/toggleClassName, and deprecate Element.ClassNames. Closes #9073 .
2007-07-24 20:42:21 +00:00
Sam Stephenson
c0735dba77
prototype: Make Element#wrap accept a second argument for setting attributes on the wrapper. Allow wrapping elements which are not part of the document. Closes #9071 .
2007-07-24 19:08:55 +00:00
Sam Stephenson
44ef74813b
prototype: Improvements for Element#replace, Element#update and Element#insert. Closes #7429 , #9060 .
2007-07-24 18:52:17 +00:00
Sam Stephenson
7b2ce66e88
prototype: Make Element#setStyle accept a string argument of CSS rules. Deprecate uncamelized style property names when setting styles using an object (for performance reasons). Closes #9059 .
2007-07-24 18:14:36 +00:00
Sam Stephenson
c6f3daadaa
prototype: Add Element#identify, which returns the element's ID if it exists, or sets and returns a unique, auto-generated ID (of the form 'anonymous_element_' + auto-incremented digit) otherwise. Use this when you need to ensure an element has an ID. Closes #9012 .
2007-07-24 17:41:27 +00:00
Sam Stephenson
7e6481bcd7
prototype: Make Element#readAttribute work for cloned elements in IE. Closes #8481 .
2007-07-24 17:31:23 +00:00
Sam Stephenson
ff45622e39
prototype: Template enhancements. Closes #8166 .
2007-07-24 17:24:25 +00:00
Sam Stephenson
b59399bdd3
prototype: Extended grep semantics. The first argument to Enumerable#grep is now a filter (an object with a match() method) so you can now e.g. filter an array of DOM nodes by CSS selector. Closes #7596 .
2007-07-24 16:47:12 +00:00
Sam Stephenson
38fa39af92
prototype: Make String#scan explicitly return a string. Closes #6350 .
2007-07-24 16:30:19 +00:00
Thomas Fuchs
513042dd98
Add Array#intersect for set intersection. Returns a new array containing all items common to the array and the argument, with duplicates removed (clone of the Ruby & method).
2007-07-18 21:07:31 +00:00
Thomas Fuchs
cea24d6cc2
Prototype: Rename Element#getElementsBySelector to Element#select and add alias for Element#getElementsBySelector. Add Element#adjacent as a shortcut to selecting all adjacent nodes (and their children) that match a CSS selector.
2007-07-13 08:36:14 +00:00
Sam Stephenson
1c17b6381a
prototype: Enhance the Enumerable and Array APIs to more closely match those of JavaScript 1.6 as implemented in Firefox 1.5. Closes #6650 , #8409 .
2007-07-09 18:55:58 +00:00
Sam Stephenson
29cd62ebeb
prototype: Temporary workaround for Prototype.BrowserFeatures.SpecificElementExtensions incorrectly evaluating to true on iPhone.
2007-06-30 16:38:18 +00:00
Thomas Fuchs
9e7efd5361
Prototype: merges from form branch. Closes #5031 , #5902 , #7595 , #8401 , #8483 , #8767 . [Mislav Marohnić, Tomas, Christophe Porteneuve, Jonathan Viney]
2007-06-27 10:38:54 +00:00
Sam Stephenson
f2d304b3ee
prototype: Merge [7066] from branches/1-5-1-1
2007-06-19 23:31:41 +00:00
Sam Stephenson
d6bf5e40ce
prototype: Make document.getElementsByClassName match a subset of the WHATWG Web Applications 1.0 specification which was adopted in Firefox 3 ( http://www.whatwg.org/specs/web-apps/current-work/#getelementsbyclassname ). It now supports multiple class names given as a whitespace-separated list in a string. Array argument is not supported. The method will only return the nodes that match all the class names. In browsers that implement the method natively it will not be overwritten. Closes #8401 .
2007-06-19 20:59:14 +00:00
Thomas Fuchs
a611146f61
Ahem, linebreak in changelog
2007-06-17 22:28:10 +00:00
Thomas Fuchs
03ae9dd3ee
* Make document.getElementsByClassName match the WHATWG Web Applications 1.0 specification which was adopted in Firefox 3 ( http://www.whatwg.org/specs/web-apps/current-work/#getelementsbyclassname ). It now supports multiple class names given as an array or a space-separated list in a string. The method will only return the nodes that match all the class names. In browsers that implement the method natively it will not be overwritten. Closes #8401 . [Mislav Marohnic]
2007-06-17 22:26:46 +00:00
Thomas Fuchs
1b8ef5af86
Fix a Safari rendering issue when floating elements could temporarily disappear when opacity was set to 1. Closes #7063 . References #3044 , #3813 , #6706 . [Thomas Fuchs, davidjrice]
2007-06-17 18:13:37 +00:00
Thomas Fuchs
9ff57b042d
Prevent a crash in Safari when calling String#evalJSON(true) on very large strings. Add String#isJSON. Closes #7834 . [Tobie Langel]
2007-06-17 16:03:38 +00:00
Thomas Fuchs
1e13c1d0b7
Prototype: Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332 . Allow JSON data to contain line breaks. Closes #8271 .
2007-06-13 20:57:19 +00:00
Thomas Fuchs
51bb86dc39
Add Hash.prototype.index which returns the first found property that has a specific value. Closes #8528 . [Thomas Fuchs, slusarz, Mislav Marohnic]
2007-06-10 11:09:06 +00:00
Sam Stephenson
ae2ea8a2e9
prototype: Ensure HTMLElement exists before creating Element.extend.
2007-06-09 01:51:26 +00:00
Thomas Fuchs
86118c3cb5
Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to the respective methods in Math. Refactor to seperate number extensions from base.js. [Thomas Fuchs]
2007-06-06 16:10:16 +00:00
Thomas Fuchs
0c7bac17f0
Prototype: Make Element#absolutize and Element#relativize properly use Element#getStyle. Closes #8580 . [Christophe Porteneuve]
2007-06-06 14:30:01 +00:00
Thomas Fuchs
225597cb35
Prototype: Add Number.prototype.round as an alias to Math.round(). [Thomas Fuchs]
2007-06-06 12:08:15 +00:00
Thomas Fuchs
431dd4e994
Prototype: Test library fixes: make rake dist work on Windows, only teardown if a browser is supported. Closes #8463 , #8498 . [Mislav Marohnic, grant]
2007-06-04 10:02:01 +00:00
Thomas Fuchs
d4d4fddc7c
Prototype: Change Element.insert syntax to allow multiple positions.
2007-06-02 15:08:50 +00:00
Thomas Fuchs
4cafec8a9c
Prototype: String.prototype.truncate now explicitly converts its return value into a string if no truncation takes place. This prevents possible issues with methods expecting input data that is typeof == string.
2007-05-31 22:32:25 +00:00
Sam Stephenson
b61bca10da
prototype: Event.findElement behaves as expected when the element passed matches the given selector. Closes #8395 .
2007-05-24 07:13:55 +00:00
Thomas Fuchs
f099e670f5
Element.setOpacity now calls removeAttribute on the filter style on IE if no more filters remain, which makes Cleartype work properly. Closes #8376 .
2007-05-19 00:11:46 +00:00
Sam Stephenson
55b658ac57
prototype: Event.findElement now uses Element#up (and as a result can take a CSS selector instead of just a tag name).
2007-05-18 01:44:26 +00:00
Sam Stephenson
a8a19eb439
prototype: Minor cleanup of the position methods
2007-05-18 01:21:41 +00:00
Sam Stephenson
7d2ae294a9
prototype: Fix Element#clonePosition to call Element#viewportOffset. Closes #8372 .
2007-05-18 01:12:35 +00:00
Sam Stephenson
beeb12e7dd
prototype: Prevent an error being thrown by $$ when #id does not exist in $$("div #id"). Closes #8325 .
2007-05-18 00:51:34 +00:00
Thomas Fuchs
a7a0edd830
Make Prototype.ScriptFragment behave when including Prototype inline.
2007-05-18 00:44:20 +00:00
Sam Stephenson
93c43b9437
prototype: Update CHANGELOG to reflect preferred capitalization for Element#insert
2007-05-12 19:00:30 +00:00
Sam Stephenson
5e356c34a2
prototype: Update CHANGELOG
2007-05-12 05:04:02 +00:00
Sam Stephenson
83b4b337e1
Merge -r6634:HEAD from ../branches/dom.
...
* Make Element#update and Element#insert work for SELECT tags in IE and Opera. [Tobie Langel]
* Make Element#insert and Element#update better handle TABLE related elements in IE and Opera. Closes #7776 , #8040 , #7550 , #7776 , #7938 . [Tobie Langel]
* Make Element#readAttribute('title') work in Opera. [Tobie Langel]
* Make Element#replace work with form elements in Firefox and Safari. Closes #8010 , #7989 . [dsl239, Tobie Langel]
* Add Element#wrap which wraps the element inside a new one. Closes #5732 . [P. Vande, Tobie Langel]
* Make Element into a constructor: new Element(tagName, attributes). Add Element#writeAttribute which accepts a hash of attributes or a name/value pair. Closes #7476 . [Mislav Marohnić, haraldmartin, Tobie Langel]
* Insertion overhaul: Add Element.insert(content[, position = 'Bottom']). Deprecate Insertion (kept for backwards compatibility). Make Ajax.Updater option.insertion accept both Insertion.Top or the now preferred 'Top'. Closes #7907 . [Tobie Langel]
2007-05-12 05:01:56 +00:00