| Age | Commit message (Collapse) | Author |
|
|
|
sync caching in ng:view must be reverted becase ng:view uses
$route.onChange to listen for changes.
$route fires all onChange events before it calls $become(Controller)
which means that if the template being included via ng:view contains
ng:controller, ng:include or other widget that create new scopes,
these scopes will be created and initialized before the parent scope
is fully initialized (happens after $become is called).
For this reason ng:view must be async.
The new scope implemenetation will resolve this issue by providing
us with an api to register one-off tasks to be executed during the
flush phase. We'll be able to compile and link the included template
safely at this time.
|
|
- 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
|
|
- extend size() to take size(obj, ownPropsOnly)
- add specs for size()
- update docs to mention string support
- use size() in ng:repeat
including the hasOwnProp check for all object doesn't create
significant perf penalty:
http://jsperf.com/dedicated-code-branch-for-hasownprop
|
|
when growing children linker calls eval for new nodes, so we need
to call it only for reused nodes.
|
|
- add `sync` flag xhr.cache
- change ng:include to use the sync flag
- change ng:view to use the sync flag
The end result is that there are fewer repaints in the browser,
which means less "blinking" that user sees.
|
|
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.
|
|
|
|
ng:repeat.
Closses #112
|
|
|
|
|
|
|
|
|
|
Closes #40
|
|
|
|
|
|
- split up services into files under src/service
- split up specs into files under test/service
- rewrite all specs so that they don't depend on one global forEach
- get rid of obsolete code and tests in ng:switch
- rename mock $log spec from "$log" to "$log mock"
|
|
|
|
|
|
otherwise an exception is thrown unexpectidly
|
|
- this change is needed because of previously reverted $route changes
that used to propagate evals automatically.
- also added docs to highlight how the eval propagation works
|
|
This reverts commit a5eb3ed107034cce5b7de3ec3f8a43ff3a379fa1.
See 9ca2facb for reasoning.
|
|
This reverts commit 17ee0f031ac4a37bf9a1dc8c87ffac4bd164d1cc.
this and a5eb3ed1 introduced scope leakage that can't be resolved
until we fix up scope relationships and eval propagation.
I'm reverting both this and a5eb3ed1 until we can properly address
the issue.
|
|
|
|
|
|
|
|
presence of multiple attribute
|
|
|
|
select (one/multiple) could not chose from a list of objects, since DOM requires string ids.
Solved by adding index formatter, which exposed incorrect handling of formatters in select
widgets.
|
|
- romeved mustache.js
- unified templates
- improved testability of the code
|
|
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
|
|
- There was a perceived lag when typing do to the fact that we were
listening on the keyup event instead of keydown. The issue with
keydown is that we can not read the value of the input field. To
solve this we schedule a defer call and perform the model update
then.
- To prevent calling $eval on root scope too many times as well as to
prevent drowning the browser with too many updates we now call the
$eval only after 25ms and any additional requests get ignored. The
new update service is called $updateView
|
|
see changelog diff for more info
|
|
|
|
|
|
|
|
- Delete $postEval method, as it was a hack
|
|
|
|
|
|
- move @ng:repeat to widgets.js and its specs to widgetsSpecs.js
- move @ng:non-bindable to widgets.js and its specs to widgetsSpecs.js
- make widget.template suitable for attribute widgets
- fix up the js docs for attribute widgets
|
|
|
|
|
|
backward incompatible)
|
|
- syntax highlighting
- tabless design
- rename widget to doc:example
- rename widget files (wiki_widget.* -> doc_widget.*)
- example section is now optional
|
|
BACKWARD INCOMPATIBLE: removed ssn validators, since it is unlikely that most people will need it and if they do, they can added it thorough RegExp
|
|
|
|
|
|
- parse jsdocs from source code
- generate prerendered (markdown + mustache) partials
- generate json
- generate scenario runner for examples in docs
- basic angular doc viewer
|
|
|
|
It sort of worked since the browser would throw stack too deep
exception and the angular would then print the error to console.
So as long as you did not have console open you would not notice
this as an error.
|