| Age | Commit message (Collapse) | Author |
|
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.
|
|
supports these invocation types:
- foo.unbind();
- foo.unbind('eventType');
- foo.unbind('eventType', fn);
more info: http://api.jquery.com/unbind/
|
|
foo.css('bogus', 'value')
foo.css('bogus') => null
so I had to change all tests to use valid css rules
|
|
since jQuery 1.6 'class' is not treated specially, so we have to revert this fix and use className in tests instead
|
|
Closes #556
|
|
|
|
This is jQuery incompatible hack.
But we were doing monkey patching there anyway...
`$(...).trigger('click')` returns an array of return values, so that scenario
runner knows, whether the event default action was cancelled.
Without this fix, scenario runner was doing navigation even if JS code called
`event.preventDefault()`.
Note, this does not work in FF6
|
|
* update $route to reflect new $location
* add some more unit tests to $route
* fix some other failing unit tests
* redirect overrides the url now
Breaks $route custom redirect fn has only 3 params now
|
|
See documentation of $location for more info
Breaks $location has no properties, only get/set methods
Closes #168
Closes #146
Closes #281
Closes #234
|
|
Chrome's Event has defaultPrevented property, but other browsers haven't.
This is workaround for other browsers - same as jQuery.
|
|
This method abstracts <base href="" /> in document.head - returns the value.
If absolute href set, it converts the href to relative.
|
|
This only extracts our 'hashchange' event and html5 history api detection from
$browser.
Closes #400
|
|
|
|
This is just basic implementation of $browser.url, $browser.onUrlChange methods:
$browser.url() - returns current location.href
$browser.url('/new') - set url to /new
If supported, history.pushState is used, location.href property otherwise.
$browser.url('/new', true) - replace current url with /new
If supported, history.replaceState is used, location.replace otherwise.
$browser.onUrlChange is only fired when url is changed from the browser:
- user types into address bar
- user clicks on back/forward button
- user clicks on link
It's not fired when url is changed using $browser.url()
Breaks Removed $browser.setUrl(), $browser.getUrl(), use $browser.url()
Breaks Removed $browser.onHashChange(), use $browser.onUrlChange()
|
|
|
|
|
|
Closes #547
|
|
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.
|
|
|
|
|
|
|
|
- both $watch and $on now return a function which when called
deregisters the listener
- $removeListener was removed and replaced with the above
- added more tests for $watch and $on
Closes #542
|
|
- fixed traversal originating on a scope with with a right sibling
- unified code for both $broadcast and $digest
|
|
BREAKING CHANGE
* removing `onChange`
FEATURE
* adding three events: $beforeRouteChange, $afterRouteChange, $routeReload
|
|
|
|
|
|
|
|
the max size for safari cookies has changed sligtly so I had to adjust
the test to make cookie creation fail on this browser
|
|
- special attrs such as ng:href, ng:check did not work as intended when
their values do not contain bindings. And this commit is to fix that
Closes #534
|
|
IE doesn't have Array#indexOf and [].splice.call doesn't work there
either.
|
|
- register listeners with $on
- remove listeners with $removeListener
- fire event that bubbles to root with $emit
- fire event that propagates to all child scopes with $broadcast
|
|
|
|
|
|
In order to avoid unnecesary route reloads when just hashSearch part
of the url changes, it is now possible to disable this behavior by
setting reloadOnSearch param of the route declaration to false.
Closes #354
|
|
two arguments
|
|
|
|
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.
|
|
|
|
The support for the 'z' formatting flag was removed becase the timezone
info can't be retrieved from the browser apis (except for en-US locale
on some but not all browsers). For this reason we don't want to support
this flag at all.
Related to this, since the 'long' and 'longtime' datetime formats require
the 'z' flag in the formatting string, we are removing support for this
format as well.
|
|
- filter.number, filter.currency and filter.date are injected with
$locale service so that we can just swap the service to localize these
- date filter was beefed up in order to support literal strings found in
localization rules
|
|
|
|
Closes #508
|
|
|
|
|
|
|
|
|
|
|
|
windgets
These widgets are useless and only trigger extra $updateViews.
The only reason we had them was to support ng:change on these widgets,
but since there are no bindings present in these cases it doesn't make
sense to support ng:change here. It's likely just a leftover from
getangular.com
Breaking change: ng:change for input[button], input[submit], input[reset], input[image]
and button widgets is not supported any more
|
|
since we don't know if the error was due to a client error (4xx) or
server error (5xx), we leave the status code as undefined.
|
|
- Speed improvements (about 4x on flush phase)
- Memory improvements (uses no function closures)
- Break $eval into $apply, $dispatch, $flush
- Introduced $watch and $observe
Breaks angular.equals() use === instead of ==
Breaks angular.scope() does not take parent as first argument
Breaks scope.$watch() takes scope as first argument
Breaks scope.$set(), scope.$get are removed
Breaks scope.$config is removed
Breaks $route.onChange callback has not "this" bounded
|