aboutsummaryrefslogtreecommitdiffstats
path: root/src/jqLite.js
AgeCommit message (Collapse)Author
2011-11-14refactor(api): remove type augmentationMisko Hevery
BREAK: - remove angular.[Object/Array/String/Function] - in templates [].$filter(predicate) and friends need to change to [] | filter:predicate
2011-10-30docs(jqlite): add missing methodsVojta Jina
2011-10-20fix(radio): allows data-binding on value property. Closes#316Misko Hevery
2011-10-12fix(jqLite): attr for boolean attribute should lowercase valueIgor Minar
2011-10-11chore(formating): clean code to be function() {Misko Hevery
2011-10-11feat(forms): new and improved formsMisko Hevery
2011-10-11fix(jqlite): removeClass would clobber class namesMisko Hevery
2011-10-11feat(jqlite): added .inheritedData method and $destroy event.Misko Hevery
- refactored .scope() to use .inheritedData() instead. - .bind('$destroy', callback) will call when the DOM element is removed
2011-10-11feat(jqlite): support required as a no-value attributeMisko Hevery
2011-09-28fix(jqLite): css should convert dash-separated properties to camelCaseIgor Minar
this fix is needed for Firefox or other browsers that strictly follow dom/css spec which states that element.style should make properties available in camelCased form. Closes #569
2011-09-16feat(jqLite): add prop() supportIgor Minar
since jQuery 1.6.4 prop() became very important because attr() does't have access to certain properties any more (e.g. className), so I'm adding it to jqLite as well so that jqLite preserves the feature-set it had before the jQuery upgrade.
2011-09-16fix(jqLite): make css() on IE8 behave the same way as jQuery 1.6.4Igor Minar
2011-09-16feat(jqLite): add support for unbind()Igor Minar
supports these invocation types: - foo.unbind(); - foo.unbind('eventType'); - foo.unbind('eventType', fn); more info: http://api.jquery.com/unbind/
2011-09-16fix(jqLite): make attr() compatible with jQuery 1.6.4Igor Minar
The behavior of attr() getter and setter changed in jQuery 1.6 and now they treat element properties and attributes as two different things, but in order to not break everyone there is a partial backwards compatibility for checking and updating element properties as well. see http://api.jquery.com/prop/ for more info.
2011-09-16fix(jqLite): attr() should not special-case 'class' attributeIgor Minar
since jQuery 1.6 'class' is not treated specially, so we have to revert this fix and use className in tests instead
2011-09-08feat(jqLite): add event.isDefaultPrevented() as jQueryVojta Jina
Chrome's Event has defaultPrevented property, but other browsers haven't. This is workaround for other browsers - same as jQuery.
2011-09-01fix(ng:class): make ng:class friendly towards other code adding/removing classesIgor Minar
ng:class as well as ng:class-odd and ng:class-even always reset the class list to whatever it was before compilation, this makes it impossible to create another directive which adds its own classes on the element on which ng:class was applied. the fix simply removes all classes that were added previously by ng:class and add classes that the ng:class expression evaluates to. we can now guarantee that we won't clobber stuff added before or after compilation as long as all class names are unique. in order to implement this I had to beef up jqLite#addClass and jqLite#removeClass to be able to add/remove multiple classes without creating duplicates.
2011-09-01fix(jqLite): addClass should ignore falsy valuesIgor Minar
2011-09-01fix(jqLite): special-case attr('class') because of IE9 bugIgor Minar
2011-09-01docs(API): various api doc fixes from ToniIgor Minar
2011-08-23fix(jqlite): correct the jqLite.removeClass methodIgor Minar
2011-08-15refactor(jqLite): remove jqLite show/hide supportIgor Minar
it turns out that even with our tricks, jqLite#show is not usable in practice and definitely not on par with jQuery. so rather than introducing half-baked apis which introduce issues, I'm removing them. I also removed show/hide uses from docs, since they are not needed. Breaks jqLite.hide/jqLite.show which are no longer available.
2011-07-30doc(typos): fix couple of typos in the docsdandoyon
Minor documentation fixes. Should not be any code changes. One test changed due to dependency on text in documentation.
2011-07-26chore(jqlite): clean up dead codeMisko Hevery
2011-07-18feat(strict mode): adding strict mode flag to all js filesIgor Minar
the flag must be in all src and test files so that we get the benefit of running in the strict mode even in jstd the following script was used to modify all files: for file in `find src test -name "*.js"`; do echo -e "'use strict';\n" > temp.txt cat $file >> temp.txt mv temp.txt $file done
2011-07-17feat(jqlite): added show(),hide() and eq() methods to jqliteDi Peng
- add those three methods to jqlite
2011-07-12fix:jqLite: Set event.target on IE<8Vojta Jina
IE<8's Event has not target property - it has srcElement property. Fix that to be consistent as jQuery.
2011-07-12fix:jqLite: Normalize non-existing attributes to undefined as jQueryVojta Jina
jqLite was returning null, but jQuery returns undefined
2011-07-12fix:jqLite: Fix binding to more events separated by spaceVojta Jina
The var eventHandler was defined outside forEach loop, so registering more events caused calling listeners registered by the last one. Regression: elm.bind('click keyup', callback1); elm.bind('click', callback2); elm.bind('keyup', callback3); Firing click event would have executed callback1, callback3 !
2011-06-08Added prepend() to jqLiteMisko Hevery
2011-06-08Proper handling of special attributes in jqliteMisko Hevery
2011-06-06yet another docs batchIgor Minar
2011-04-09fix build for IE9Igor Minar
all unit tests now pass under IE9
2011-03-31ignore jqLite#append for doc fragmentIgor Minar
this is needed to be compatible with jqQuery 1.5.1
2011-03-31fix jqLite#parent to be compatible with jQueryIgor Minar
our original implementation doesn't work with document fragments on IE - tests were added to cover missing cases
2011-03-30use document fragments to grow repeatersIgor Minar
- unless we are repeating OPTION elements, buffer new nodes in document fragment and append them to the DOM in one go at the end - for OPTION elements we have to keep on using the old way because of how option widget communicates with select widget this should be change, but that change is out of scope of this CL - modify jqLite to support wrapping of document fragments - fix jqLite documentation typo This change unintentionally avoids the following webkit bug that that affects repeater growth: https://bugs.webkit.org/show_bug.cgi?id=57059 However the following bug affecting shrining of repeaters is still unresolved https://bugs.webkit.org/show_bug.cgi?id=57061
2011-03-28fixing lint warningsIgor Minar
2011-03-26remove _null and _undefinedIgor Minar
they have no significant effect on minified and gziped size. in fact they make things worse. file | before | after removal ---------------------------------------- concat | 325415 | 325297 min | 62070 | 62161 min + gzip | 25187 | 25176 The bottom line is that we are getting 0.05% decrease in size after gzip without all of the hassle of using underscores everywhere.
2011-03-08fix ie7 regression in jqLite which preventedMisko Hevery
2011-02-19correct hashchange event registration on windowMisko Hevery
2011-02-16Changed the angular.compile(element)(scope[, cloneAttachNode])Misko Hevery
2011-02-16reformated multiline trinary expressions to have a leading ?/:.Misko Hevery
2011-02-16rewrite of JQuery lite implementation, which now better supports selected setsMisko Hevery
2011-02-16refactored quickClone to cloneNode and exposed it on jQueryMisko Hevery
2011-02-16Add public API to retrieve scope from element.Misko Hevery
2011-02-16allow jquery to be declared after angular in the script loading orderMisko Hevery
2011-01-30jqlite should not generate exceptions when accessing attributes on DocumentIgor Minar
2011-01-10Rename angular.foreach to angular.forEach to make the api consistent.Igor Minar
camelcase is used for other angular functions and forEach is also used by EcmaScript standard. - rename the internal as well as the external function name - tweak the implementation of the function so that it doesn't clober it self when we extend the angular object with an object that has a forEach property equal to this forEach function Closes #85
2011-01-10bootstrap angular on "document ready" instead of window.onloadIgor Minar
- use jqLite api to bootstrap angular - when jQuery is present DOMContentLoaded or hacks for IE are used - when jqLite is present DOMContentLoaded is used for modern browsers and IE9 and window.onload is used for other browsers. - test html for comparing DOMContentLoaded with window.onload Closes #224
2011-01-10jqLite should recognize window as an element even in IEIgor Minar
in IE window object has length property which makes it look like a collection to jqLite. This commit makes jqLite properly identify window as an element even in IE. IE6 doesn't have Window type, so we need to check against window object and only then do a more general check against Window. This is not perfect, but I say screw IE6.