@angular-wave/angular.ts 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/Makefile +1 -0
  2. package/dist/angular-ts.esm.js +2 -2
  3. package/dist/angular-ts.umd.js +2 -12
  4. package/index.html +3 -74
  5. package/package.json +1 -1
  6. package/src/angular.spec.js +5 -0
  7. package/src/animations/animate-css.js +13 -5
  8. package/src/animations/animate-queue.js +21 -22
  9. package/src/animations/animate-runner.js +8 -4
  10. package/src/animations/animate.md +1 -1
  11. package/src/animations/animate.spec.js +21 -0
  12. package/src/animations/animation.js +1 -1
  13. package/src/binding.spec.js +1 -0
  14. package/src/core/compile/compile.js +25 -27
  15. package/src/core/compile/compile.spec.js +266 -17
  16. package/src/core/controller/controller.js +0 -2
  17. package/src/core/di/injector.md +1 -1
  18. package/src/core/di/injector.spec.js +2 -0
  19. package/src/core/di/internal-injector.js +1 -2
  20. package/src/core/interpolate/interpolate.js +12 -28
  21. package/src/core/interpolate/interpolate.spec.js +16 -70
  22. package/src/core/interval/interval-factory.js +50 -0
  23. package/src/core/interval/interval.html +18 -0
  24. package/src/core/interval/interval.js +77 -0
  25. package/src/core/interval/interval.md +123 -0
  26. package/src/core/interval/interval.spec.js +280 -0
  27. package/src/core/interval/interval.test.js +1 -1
  28. package/src/core/location/location.js +53 -59
  29. package/src/core/location/location.spec.js +27 -27
  30. package/src/core/on.spec.js +7 -0
  31. package/src/core/parse/interpreter.js +7 -10
  32. package/src/core/parse/parse.js +5 -26
  33. package/src/core/parse/parse.spec.js +91 -95
  34. package/src/core/prop.spec.js +60 -4
  35. package/src/core/q/q.html +18 -0
  36. package/src/core/q/q.js +472 -0
  37. package/src/core/q/q.md +211 -0
  38. package/src/core/q/q.spec.js +2748 -0
  39. package/src/core/q/q.test.js +12 -0
  40. package/src/core/sce/sce.spec.js +8 -0
  41. package/src/core/{model/model.html → scope/scope.html} +1 -1
  42. package/src/core/scope/scope.js +16 -15
  43. package/src/core/scope/scope.spec.js +1959 -24
  44. package/src/core/scope/scope.test.js +12 -0
  45. package/src/core/timeout/timeout.html +18 -0
  46. package/src/core/timeout/timeout.js +109 -0
  47. package/src/core/timeout/timeout.spec.js +354 -0
  48. package/src/core/timeout/timout.test.js +12 -0
  49. package/src/core/url-utils/url-utils.spec.js +1 -1
  50. package/src/directive/aria/aria.js +6 -3
  51. package/src/directive/aria/aria.spec.js +87 -0
  52. package/src/directive/attrs/attrs.spec.js +5 -0
  53. package/src/directive/attrs/boolean.spec.js +15 -0
  54. package/src/directive/attrs/element-style.spec.js +8 -0
  55. package/src/directive/attrs/src.spec.js +7 -0
  56. package/src/directive/bind/bind.spec.js +33 -0
  57. package/src/directive/bind/bing-html.spec.js +3 -0
  58. package/src/directive/class/class.js +3 -3
  59. package/src/directive/class/class.spec.js +75 -9
  60. package/src/directive/controller/controller.spec.js +13 -0
  61. package/src/directive/events/click.spec.js +3 -0
  62. package/src/directive/events/event.spec.js +6 -0
  63. package/src/directive/events/events.html +1 -0
  64. package/src/directive/form/form.js +3 -2
  65. package/src/directive/form/form.spec.js +65 -0
  66. package/src/directive/if/if.spec.js +4 -0
  67. package/src/directive/include/include.spec.js +59 -8
  68. package/src/directive/init/init.js +2 -6
  69. package/src/directive/init/init.spec.js +2 -0
  70. package/src/directive/input/input.spec.js +136 -0
  71. package/src/directive/messages/messages.spec.js +35 -4
  72. package/src/directive/model/model.js +25 -18
  73. package/src/directive/model/model.spec.js +49 -2
  74. package/src/directive/model-options/model-options.spec.js +6 -0
  75. package/src/directive/non-bindable/non-bindable.spec.js +1 -0
  76. package/src/directive/observe/observe.js +5 -1
  77. package/src/directive/observe/observe.spec.js +22 -0
  78. package/src/directive/observe/test.html +3 -11
  79. package/src/directive/options/options.spec.js +34 -0
  80. package/src/directive/ref/href.spec.js +15 -0
  81. package/src/directive/repeat/repeat.spec.js +135 -8
  82. package/src/directive/script/script.spec.js +2 -0
  83. package/src/directive/select/select.js +3 -3
  84. package/src/directive/select/select.spec.js +96 -0
  85. package/src/directive/show-hide/show-hide.js +2 -2
  86. package/src/directive/show-hide/show-hide.spec.js +19 -8
  87. package/src/directive/style/style.spec.js +7 -0
  88. package/src/directive/switch/switch.spec.js +5 -5
  89. package/src/directive/validators/validators.spec.js +1 -0
  90. package/src/loader.js +1 -0
  91. package/src/public.js +10 -2
  92. package/src/router/common/coreservices.js +2 -0
  93. package/src/router/directives/state-directives.js +14 -6
  94. package/src/router/directives/state-directives.spec.js +83 -0
  95. package/src/router/directives/view-directive.js +13 -4
  96. package/src/router/directives/view-directive.spec.js +71 -25
  97. package/src/router/hooks/lazy-load.js +2 -2
  98. package/src/router/hooks/views.js +5 -3
  99. package/src/router/resolve/resolvable.js +6 -3
  100. package/src/router/resolve/resolve-context.js +2 -2
  101. package/src/router/state/state-service.js +4 -4
  102. package/src/router/state/state.spec.js +5 -2
  103. package/src/router/state/state.test.js +1 -1
  104. package/src/router/state/views.js +10 -7
  105. package/src/router/template-factory.js +6 -3
  106. package/src/router/template-factory.spec.js +4 -0
  107. package/src/router/transition/transition-hook.js +1 -1
  108. package/src/router/transition/transition.js +1 -1
  109. package/src/router/view-hook.spec.js +2 -2
  110. package/src/router/view-scroll.js +6 -4
  111. package/src/services/browser.js +5 -8
  112. package/src/services/http/http.js +9 -6
  113. package/src/services/http/http.spec.js +31 -30
  114. package/src/services/http/template-request.spec.js +10 -0
  115. package/src/services/http-backend/http-backend.spec.js +3 -3
  116. package/src/services/template-request.js +4 -2
  117. package/src/shared/common.js +2 -1
  118. package/types/core/location/location.d.ts +37 -34
  119. package/types/core/parse/parse.d.ts +0 -26
  120. package/types/core/scope/scope.d.ts +11 -11
  121. package/src/core/model/model.js +0 -944
  122. package/src/core/model/model.spec.js +0 -3012
  123. package/types/core/model/model.d.ts +0 -204
@@ -41,6 +41,7 @@ describe("ngInclude", () => {
41
41
  );
42
42
  const injector = angular.bootstrap(element);
43
43
  $rootScope = injector.get("$rootScope");
44
+ $rootScope.$digest();
44
45
  setTimeout(() => {
45
46
  expect(element.text()).toEqual("hello");
46
47
  dealoc($rootScope);
@@ -56,6 +57,7 @@ describe("ngInclude", () => {
56
57
  $rootScope.fooUrl = $sce.trustAsResourceUrl(
57
58
  "http://localhost:4000/mock/hello",
58
59
  );
60
+ $rootScope.$digest();
59
61
  await wait(100);
60
62
  expect(element.text()).toEqual("Hello");
61
63
  dealoc($rootScope);
@@ -71,6 +73,7 @@ describe("ngInclude", () => {
71
73
  $templateCache.set("myUrl", [200, "{{name}}", {}]);
72
74
  $rootScope.name = "misko";
73
75
  $rootScope.url = "myUrl";
76
+ $rootScope.$digest();
74
77
  expect(body.text()).toEqual("misko");
75
78
  body.empty();
76
79
  dealoc($rootScope);
@@ -82,6 +85,8 @@ describe("ngInclude", () => {
82
85
  $rootScope = injector.get("$rootScope");
83
86
  $rootScope.expr = "Alibaba";
84
87
  $rootScope.url = "/mock/interpolation";
88
+ $rootScope.$digest();
89
+
85
90
  setTimeout(() => {
86
91
  expect(element.text()).toEqual("Alibaba");
87
92
  done();
@@ -93,7 +98,9 @@ describe("ngInclude", () => {
93
98
  const injector = angular.bootstrap(element, ["myModule"]);
94
99
  $rootScope = injector.get("$rootScope");
95
100
  $rootScope.url = "http://example.com/myUrl";
96
- expect(() => {}).toThrowError(/insecurl/);
101
+ expect(() => {
102
+ $rootScope.$digest();
103
+ }).toThrowError(/insecurl/);
97
104
  });
98
105
 
99
106
  it("should NOT use mistyped expressions ", () => {
@@ -103,7 +110,9 @@ describe("ngInclude", () => {
103
110
  $rootScope.name = "chirayu";
104
111
  let $sce = injector.get("$sce");
105
112
  $rootScope.url = $sce.trustAsUrl("http://example.com/myUrl");
106
- expect(() => {}).toThrowError(/insecurl/);
113
+ expect(() => {
114
+ $rootScope.$digest();
115
+ }).toThrowError(/insecurl/);
107
116
  });
108
117
 
109
118
  it("should remove previously included text if a falsy value is bound to src", (done) => {
@@ -112,9 +121,11 @@ describe("ngInclude", () => {
112
121
  $rootScope = injector.get("$rootScope");
113
122
  $rootScope.expr = "igor";
114
123
  $rootScope.url = "/mock/interpolation";
124
+ $rootScope.$digest();
115
125
  setTimeout(() => {
116
126
  expect(element.text()).toEqual("igor");
117
127
  $rootScope.url = undefined;
128
+ $rootScope.$digest();
118
129
  }, 100);
119
130
  setTimeout(() => {
120
131
  expect(element.text()).toEqual("");
@@ -137,6 +148,8 @@ describe("ngInclude", () => {
137
148
  const injector = angular.bootstrap(element, ["myModule"]);
138
149
  $rootScope = injector.get("$rootScope");
139
150
  $rootScope.url = "/mock/interpolation";
151
+ $rootScope.$digest();
152
+
140
153
  setTimeout(() => {
141
154
  expect(called).toBe(true);
142
155
  done();
@@ -158,6 +171,8 @@ describe("ngInclude", () => {
158
171
  const injector = angular.bootstrap(element, ["myModule"]);
159
172
  $rootScope = injector.get("$rootScope");
160
173
  $rootScope.url = "/mock/interpolation";
174
+ $rootScope.$digest();
175
+
161
176
  setTimeout(() => {
162
177
  expect(called).toBe(true);
163
178
  done();
@@ -180,6 +195,8 @@ describe("ngInclude", () => {
180
195
 
181
196
  const injector = angular.bootstrap(element, ["myModule"]);
182
197
  $rootScope = injector.get("$rootScope");
198
+ $rootScope.$digest();
199
+
183
200
  setTimeout(() => {
184
201
  expect(contentLoadedSpy).not.toHaveBeenCalled();
185
202
  expect(contentErrorSpy).toHaveBeenCalled();
@@ -195,8 +212,12 @@ describe("ngInclude", () => {
195
212
  );
196
213
  const injector = angular.bootstrap(element, ["myModule"]);
197
214
  $rootScope = injector.get("$rootScope");
215
+ $rootScope.$digest();
216
+
198
217
  expect($rootScope.loaded).not.toBeDefined();
199
218
  $rootScope.url = "/mock/hello";
219
+ $rootScope.$digest();
220
+
200
221
  setTimeout(() => {
201
222
  expect(element.text()).toEqual("Hello");
202
223
  expect($rootScope.loaded).toBe(true);
@@ -210,14 +231,18 @@ describe("ngInclude", () => {
210
231
  element = JQLite('<div><ng-include src="url"></ng-include></div>');
211
232
  const injector = angular.bootstrap(element, ["myModule"]);
212
233
  $rootScope = injector.get("$rootScope");
234
+ $rootScope.$digest();
213
235
  expect($rootScope.$$childHead).toBeFalsy();
214
236
 
215
237
  $rootScope.url = "/mock/hello";
238
+ $rootScope.$digest();
239
+
216
240
  setTimeout(() => {
217
241
  expect($rootScope.$$childHead.$parent).toBe($rootScope);
218
242
  expect(element.text()).toBe("Hello");
219
243
 
220
244
  $rootScope.url = "/mock/401";
245
+ $rootScope.$digest();
221
246
  }, 100);
222
247
 
223
248
  setTimeout(() => {
@@ -225,12 +250,14 @@ describe("ngInclude", () => {
225
250
  expect(element.text()).toBe("");
226
251
 
227
252
  $rootScope.url = "/mock/hello";
253
+ $rootScope.$digest();
228
254
  }, 200);
229
255
 
230
256
  setTimeout(() => {
231
257
  expect($rootScope.$$childHead.$parent).toBe($rootScope);
232
258
 
233
259
  $rootScope.url = null;
260
+ $rootScope.$digest();
234
261
  }, 300);
235
262
 
236
263
  setTimeout(() => {
@@ -245,13 +272,16 @@ describe("ngInclude", () => {
245
272
  const injector = angular.bootstrap(element, ["myModule"]);
246
273
  $rootScope = injector.get("$rootScope");
247
274
  $rootScope.url = "/mock/hello";
275
+ $rootScope.$digest();
248
276
  await wait(100);
249
277
 
250
278
  expect(element.text()).toEqual("Hello");
251
279
  $rootScope.url = null;
280
+ $rootScope.$digest();
252
281
  await wait(100);
253
282
  expect(element.text()).toEqual("");
254
283
  $rootScope.url = "/mock/hello";
284
+ $rootScope.$digest();
255
285
  // No request being made
256
286
  expect(element.text()).toEqual("Hello");
257
287
  });
@@ -262,6 +292,7 @@ describe("ngInclude", () => {
262
292
  const injector = angular.bootstrap(element, ["myModule"]);
263
293
  $rootScope = injector.get("$rootScope");
264
294
  $rootScope.url = "/mock/401";
295
+ $rootScope.$digest();
265
296
  expect(element.text()).toBe("");
266
297
  });
267
298
 
@@ -279,6 +310,7 @@ describe("ngInclude", () => {
279
310
  called++;
280
311
  });
281
312
 
313
+ $rootScope.$digest();
282
314
  setTimeout(() => {
283
315
  expect(element.text()).toBe("Hello");
284
316
  done();
@@ -293,8 +325,10 @@ describe("ngInclude", () => {
293
325
  const injector = angular.bootstrap(element, ["myModule"]);
294
326
  $rootScope = injector.get("$rootScope");
295
327
  $rootScope.templateUrl = "/mock/hello";
328
+ $rootScope.$digest();
296
329
  $rootScope.expr = "test";
297
330
  $rootScope.templateUrl = "/mock/interpolation";
331
+ $rootScope.$digest();
298
332
  expect(element.text()).toBe("");
299
333
 
300
334
  setTimeout(() => {
@@ -312,15 +346,21 @@ describe("ngInclude", () => {
312
346
  $rootScope = injector.get("$rootScope");
313
347
  $rootScope.hrefUrl = "fooUrl1";
314
348
  $rootScope.includeUrl = "/mock/hello";
349
+ $rootScope.$digest();
350
+
315
351
  await wait(100);
316
352
  expect(element.text()).toBe("Hello");
317
353
  expect(element.find("span").attr("foo")).toBe("#/fooUrl1");
318
354
 
319
355
  $rootScope.hrefUrl = "fooUrl2";
356
+ $rootScope.$digest();
357
+
320
358
  expect(element.text()).toBe("Hello");
321
359
  expect(element.find("span").attr("foo")).toBe("#/fooUrl2");
322
360
 
323
361
  $rootScope.includeUrl = "/mock/hello2";
362
+ $rootScope.$digest();
363
+
324
364
  await wait(100);
325
365
  expect(element.text()).toBe("Hello2");
326
366
  expect(element.find("span").attr("foo")).toBe("#/fooUrl2");
@@ -338,6 +378,7 @@ describe("ngInclude", () => {
338
378
  element = JQLite("<svg><test></test></svg>");
339
379
  const injector = angular.bootstrap(element, ["myModule"]);
340
380
  $rootScope = injector.get("$rootScope");
381
+ $rootScope.$digest();
341
382
  await wait(100);
342
383
  const child = element.find("rect");
343
384
  expect(child.length).toBe(2);
@@ -356,6 +397,7 @@ describe("ngInclude", () => {
356
397
  element = JQLite("<svg><test></test></svg>");
357
398
  const injector = angular.bootstrap(element, ["myModule"]);
358
399
  $rootScope = injector.get("$rootScope");
400
+ $rootScope.$digest();
359
401
  await wait(200);
360
402
  expect(element.find("a").length).toBe(0);
361
403
  });
@@ -368,7 +410,10 @@ describe("ngInclude", () => {
368
410
  const injector = angular.bootstrap(element, ["myModule"]);
369
411
  $rootScope = injector.get("$rootScope");
370
412
  $rootScope.show = true;
413
+ $rootScope.$digest();
371
414
  $rootScope.show = false;
415
+ $rootScope.$digest();
416
+
372
417
  setTimeout(() => {
373
418
  expect(element.text()).toBe("");
374
419
  done();
@@ -383,6 +428,8 @@ describe("ngInclude", () => {
383
428
  const spy = spyOn($rootScope, "$digest").and.callThrough();
384
429
 
385
430
  $rootScope.url = "/mock/hello";
431
+ $rootScope.$digest();
432
+
386
433
  setTimeout(() => {
387
434
  expect(element.text()).toEqual("Hello");
388
435
  $rootScope.$apply('url = "/mock/hello2"');
@@ -444,6 +491,8 @@ describe("ngInclude", () => {
444
491
  $rootScope.value = true;
445
492
  });
446
493
 
494
+ $rootScope.$digest();
495
+
447
496
  setTimeout(() => {
448
497
  expect(autoScrollSpy).toHaveBeenCalled();
449
498
  done();
@@ -465,6 +514,8 @@ describe("ngInclude", () => {
465
514
  $rootScope.$apply(() => {
466
515
  $rootScope.tpl = "/mock/hello";
467
516
  });
517
+ $rootScope.$digest();
518
+
468
519
  setTimeout(() => {
469
520
  expect(autoScrollSpy).not.toHaveBeenCalled();
470
521
  done();
@@ -517,7 +568,7 @@ describe("ngInclude", () => {
517
568
  // expect($animate.queue.shift().event).toBe("enter");
518
569
 
519
570
  // $animate.flush();
520
- // ;
571
+ // $rootScope.$digest();
521
572
 
522
573
  // expect(autoScrollSpy).toHaveBeenCalled();
523
574
  // },
@@ -663,7 +714,7 @@ describe("ngInclude", () => {
663
714
  // element = $compile(
664
715
  // html("<div><div " + 'ng-include="tpl">' + "</div></div>"),
665
716
  // )($rootScope);
666
- // ;
717
+ // $rootScope.$digest();
667
718
 
668
719
  // const animation = $animate.queue.pop();
669
720
  // expect(animation.event).toBe("enter");
@@ -677,14 +728,14 @@ describe("ngInclude", () => {
677
728
  // element = $compile(
678
729
  // html("<div><div " + 'ng-include="tpl">' + "</div></div>"),
679
730
  // )($rootScope);
680
- // ;
731
+ // $rootScope.$digest();
681
732
 
682
733
  // let animation = $animate.queue.shift();
683
734
  // expect(animation.event).toBe("enter");
684
735
  // expect(animation.element.text()).toBe("data");
685
736
 
686
737
  // $rootScope.tpl = "";
687
- // ;
738
+ // $rootScope.$digest();
688
739
 
689
740
  // animation = $animate.queue.shift();
690
741
  // expect(animation.event).toBe("leave");
@@ -699,13 +750,13 @@ describe("ngInclude", () => {
699
750
  // element = $compile(
700
751
  // html("<div><div " + 'ng-include="tpl">' + "</div></div>"),
701
752
  // )($rootScope);
702
- // ;
753
+ // $rootScope.$digest();
703
754
 
704
755
  // const item1 = $animate.queue.shift().element;
705
756
  // expect(item1.text()).toBe("one");
706
757
 
707
758
  // $rootScope.tpl = "two";
708
- // ;
759
+ // $rootScope.$digest();
709
760
 
710
761
  // const itemA = $animate.queue.shift().element;
711
762
  // const itemB = $animate.queue.shift().element;
@@ -6,12 +6,8 @@ export function ngInitDirective() {
6
6
  priority: 450,
7
7
  compile() {
8
8
  return {
9
- pre(scope, element, attrs) {
10
- if (element.controller()) {
11
- element.controller().$eval(attrs.ngInit);
12
- } else {
13
- scope.$eval(attrs.ngInit);
14
- }
9
+ pre(scope, _element, attrs) {
10
+ scope.$eval(attrs.ngInit);
15
11
  },
16
12
  };
17
13
  },
@@ -39,6 +39,7 @@ describe("ngInit", () => {
39
39
  });
40
40
  injector = angular.bootstrap(element, ["myModule"]);
41
41
  $rootScope = injector.get("$rootScope");
42
+ $rootScope.$digest();
42
43
  expect($rootScope.template).toEqual("template2.tpl");
43
44
  setTimeout(() => {
44
45
  expect(element.find("span").text()).toEqual("2");
@@ -58,6 +59,7 @@ describe("ngInit", () => {
58
59
  '<div><div ng-controller="TestCtrl" ' +
59
60
  'ng-init="test=123"></div></div>',
60
61
  )($rootScope);
62
+ $rootScope.$digest();
61
63
  expect($rootScope.test).toBeUndefined();
62
64
  expect($rootScope.$$childHead.test).toEqual(123);
63
65
  });