aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/compileSpec.js
AgeCommit message (Collapse)Author
2013-01-17fix($compile): do not wrap empty root text nodes in spansPete Bacon Darwin
Closes #1059
2013-01-14fix($compile): safely create transclude comment nodesIgor Minar
Closes #1740
2013-01-09feat($compile): support modifying the DOM structure in postlink fnMartin Probst
Support modifying the DOM structure in the post link function of a directive by creating a defensive copy of the node list, as opposed to a live DOM list. This is useful for directives to actually replace their entire DOM fragment, e.g. with the HTML fragment generated by a 3rd party component (Closure, Bootstrap ...). Fix the indentation of the compileNodes function (was one too little).
2012-10-29fix($compile): prevent double attr interpolation w/ templateUrlIgor Minar
This fixes the issue that caused two attr interpolation observers to be registered for the same attribute as a result of isolate scope definition with attr (@) property for this attribute. Duplicate observers would then fight with each other updating the model. The issue occured only when this directive was used in a repeater because that's when we clone the template node which caused the two observers to point to two different sets of $attr instances. Closes #1166, #836
2012-09-20fix($compile): reference local in isolate scopeVojta Jina
This was really corner case: Watcher needs to return changed value, to notify that model might have changed and one more $digest cycle needs to be performed. The watcher, that takes care of reference binding into an isolate scope ("="), did not return changed value, if the change was from the isolate scope to the parent. If any other watcher returned change, it worked fine, as this change caused re-digest. Closes #1272
2012-08-13fix($compile): denormalize directive templatesIgor Minar
Since developers are allowed to customize start/end interpolation strings, but third-party directive creators don't know about these customizations, we should standardize on {{ }} in templates of reusable (third-party) directives. During the compilation, these templates are then denormalized to use whatever the custom start/end symbol is, effectively translating the template into the syntax of the runtime environment. This addresses an issue raised at http://goo.gl/e8VPV Existing code should not be affected by this change since project that do use custom interpolation markers are not expected to use {{ }} in existing directive templates.
2012-08-13refactor($compile): code cleanupIgor Minar
2012-06-08fix($compile): correctly merge class attr for replace directivesMax Martinsson
Merging of interpolated class attribute from directive template with replace:true works Closes #1006
2012-06-08feat($compile): simplify isolate scope bindingsMisko Hevery
Changed the isolate scope binding options to: - @attr - attribute binding (including interpolation) - =model - by-directional model binding - &expr - expression execution binding This change simplifies the terminology as well as number of choices available to the developer. It also supports local name aliasing from the parent. BREAKING CHANGE: isolate scope bindings definition has changed and the inject option for the directive controller injection was removed. To migrate the code follow the example below: Before: scope: { myAttr: 'attribute', myBind: 'bind', myExpression: 'expression', myEval: 'evaluate', myAccessor: 'accessor' } After: scope: { myAttr: '@', myBind: '@', myExpression: '&', // myEval - usually not useful, but in cases where the expression is assignable, you can use '=' myAccessor: '=' // in directive's template change myAccessor() to myAccessor } The removed `inject` wasn't generaly useful for directives so there should be no code using it.
2012-06-08fix(startingTag): make tag name always lowercaseIgor Minar
some browsers (IE) always provide the nodeName as upper-case
2012-06-08refactor($compile): always call attr.$observeMisko Hevery
attr.$observe used to call function only if there was interpolation on that attribute. We now call the observation function all the time but we only save the reference to it if interpolation is present.
2012-06-08chore($compile): clean up compiler testsMisko Hevery
2012-05-04fix($compile): have $observe return registration functionMisko Hevery
2012-05-04fix($compile): ignore ws when checking if template has single rootIgor Minar
Also add the same error checking for sync templates. Closes #910
2012-05-03style($compile): clean up the code and normalize fn namesIgor Minar
2012-05-03fix($compile): attach scope to the directive element when templateUrl and ↵Igor Minar
replace=true We forgot to reattach the scope to the replacement element. This affected only directives that had templateUrl and replace:true properties. Reported on the mailing list: https://groups.google.com/forum/?fromgroups#!topic/angular/zwjLr1msS2Y http://jsfiddle.net/lukebayes/g9Sh9/
2012-05-03chore($compile): remove obsolete <<CONTENT>> transclusionIgor Minar
This stuff was never documented and is an accidental leftover from the time when the compiler was rewritten. If any code depends on this, it should be rewritten to use ngTransclude directive intead.
2012-05-03fix($compile): prevent duplicate directive controller instantiationIgor Minar
Closes #876
2012-05-02style($compile): rename compiler.js to compile.jsIgor Minar