@angular-wave/angular.ts 0.7.3 → 0.7.4

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 (206) hide show
  1. package/.prettierignore +2 -1
  2. package/@types/core/exception-handler.d.ts +2 -2
  3. package/@types/core/task-tracker-factory.d.ts +2 -2
  4. package/@types/directive/channel/channel.d.ts +2 -18
  5. package/@types/directive/http/http.d.ts +3 -0
  6. package/@types/directive/script/script.d.ts +2 -2
  7. package/@types/directive/setter/setter.d.ts +2 -2
  8. package/@types/injection-tokens.d.ts +3 -0
  9. package/@types/interface.d.ts +11 -0
  10. package/@types/loader.d.ts +3 -4
  11. package/@types/router/params/param-factory.d.ts +10 -2
  12. package/@types/router/params/param.d.ts +22 -3
  13. package/@types/router/template-factory.d.ts +2 -2
  14. package/@types/router/url/url-service.d.ts +2 -2
  15. package/@types/services/http/http.d.ts +2 -2
  16. package/@types/services/http/interface.d.ts +219 -0
  17. package/@types/services/http-backend/http-backend.d.ts +26 -19
  18. package/@types/services/log/interface.d.ts +33 -0
  19. package/@types/services/log/log.d.ts +25 -0
  20. package/@types/{core → services}/pubsub/pubsub.d.ts +6 -6
  21. package/@types/services/template-cache/interface.d.ts +4 -0
  22. package/@types/services/template-cache/template-cache.d.ts +11 -0
  23. package/@types/services/template-request.d.ts +1 -1
  24. package/@types/shared/cache.d.ts +9 -0
  25. package/@types/shared/dom.d.ts +2 -2
  26. package/Makefile +1 -1
  27. package/dist/angular-ts.esm.js +147 -141
  28. package/dist/angular-ts.umd.js +147 -141
  29. package/dist/angular-ts.umd.min.js +1 -1
  30. package/docs/assets/scss/_variables_project.scss +1 -1
  31. package/docs/assets/scss/_variables_project_after_bs.scss +5 -5
  32. package/docs/assets/scss/index.scss +2 -3
  33. package/docs/content/_index.md +1 -1
  34. package/docs/content/docs/_index.md +58 -25
  35. package/docs/content/docs/directive/_index.md +4 -0
  36. package/docs/content/docs/directive/app.md +11 -0
  37. package/docs/content/docs/directive/aria.md +0 -0
  38. package/docs/content/docs/directive/channel.md +39 -0
  39. package/docs/content/docs/directive/class-even.md +47 -0
  40. package/docs/content/docs/directive/class-odd.md +48 -0
  41. package/docs/content/docs/directive/class.md +64 -0
  42. package/docs/content/docs/directive/cloak.md +78 -0
  43. package/docs/content/docs/directive/include.md +7 -0
  44. package/docs/content/docs/filter/_index.md +4 -0
  45. package/docs/content/docs/provider/_index.md +4 -0
  46. package/docs/content/docs/provider/eventBusProvider.md +35 -0
  47. package/docs/content/docs/provider/logProvider.md +59 -0
  48. package/docs/content/docs/provider/templateCacheProvider.md +35 -0
  49. package/docs/content/docs/service/_index.md +4 -0
  50. package/docs/content/docs/service/eventBus.md +56 -0
  51. package/docs/content/docs/service/log.md +113 -0
  52. package/docs/content/docs/service/templateCache.md +64 -0
  53. package/docs/hugo.yaml +3 -3
  54. package/docs/layouts/partials/hooks/head-end.html +3 -0
  55. package/docs/layouts/shortcodes/showhtml.html +2 -0
  56. package/docs/layouts/shortcodes/showjs.html +2 -0
  57. package/docs/layouts/shortcodes/showraw.html +1 -0
  58. package/docs/static/examples/counter/counter-test.html +17 -0
  59. package/docs/static/examples/counter/counter.html +5 -0
  60. package/docs/static/examples/counter/counter.test.js +28 -0
  61. package/docs/static/examples/eventbus/eventbus-test.html +19 -0
  62. package/docs/static/examples/eventbus/eventbus.html +13 -0
  63. package/docs/static/examples/eventbus/eventbus.js +15 -0
  64. package/docs/static/examples/eventbus/eventbus.test.js +19 -0
  65. package/docs/static/examples/ng-channel/ng-channel-test.html +17 -0
  66. package/docs/static/examples/ng-channel/ng-channel.html +24 -0
  67. package/docs/static/examples/ng-channel/ng-channel.test.js +31 -0
  68. package/docs/static/examples/ng-class/ng-class.html +71 -0
  69. package/docs/static/examples/ng-class/ng-class.js +0 -0
  70. package/docs/static/examples/ng-class-even/ng-class-even.html +8 -0
  71. package/docs/static/examples/ng-class-odd/ng-class-odd.html +8 -0
  72. package/docs/static/typedoc/assets/hierarchy.js +1 -1
  73. package/docs/static/typedoc/assets/navigation.js +1 -1
  74. package/docs/static/typedoc/assets/search.js +1 -1
  75. package/docs/static/typedoc/classes/LogProvider.html +6 -0
  76. package/docs/static/typedoc/classes/PubSub.html +71 -0
  77. package/docs/static/typedoc/classes/PubSubProvider.html +3 -0
  78. package/docs/static/typedoc/classes/TemplateCacheProvider.html +5 -0
  79. package/docs/static/typedoc/hierarchy.html +1 -1
  80. package/docs/static/typedoc/index.html +1 -1
  81. package/docs/static/typedoc/interfaces/ChangesObject.html +1 -1
  82. package/docs/static/typedoc/interfaces/ComponentOptions.html +1 -1
  83. package/docs/static/typedoc/interfaces/Controller.html +1 -1
  84. package/docs/static/typedoc/interfaces/Directive.html +1 -1
  85. package/docs/static/typedoc/interfaces/DirectivePrePost.html +1 -1
  86. package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +1 -0
  87. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +31 -0
  88. package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +6 -0
  89. package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +1 -0
  90. package/docs/static/typedoc/interfaces/HttpResponse.html +8 -0
  91. package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +1 -0
  92. package/docs/static/typedoc/interfaces/HttpService.html +38 -0
  93. package/docs/static/typedoc/interfaces/LogService.html +12 -0
  94. package/docs/static/typedoc/interfaces/NgModelController.html +1 -1
  95. package/docs/static/typedoc/interfaces/NgModelOptions.html +1 -1
  96. package/docs/static/typedoc/interfaces/Provider.html +1 -1
  97. package/docs/static/typedoc/interfaces/RequestConfig.html +48 -0
  98. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +38 -0
  99. package/docs/static/typedoc/interfaces/ServiceProvider.html +1 -1
  100. package/docs/static/typedoc/interfaces/TranscludeFunctionObject.html +1 -1
  101. package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
  102. package/docs/static/typedoc/types/CloneAttachFunction.html +1 -1
  103. package/docs/static/typedoc/types/ControllerConstructor.html +1 -1
  104. package/docs/static/typedoc/types/DirectiveCompileFn.html +1 -1
  105. package/docs/static/typedoc/types/DirectiveController.html +1 -1
  106. package/docs/static/typedoc/types/DirectiveFactory.html +1 -1
  107. package/docs/static/typedoc/types/DirectiveLinkFn.html +1 -1
  108. package/docs/static/typedoc/types/ExpandoStore.html +2 -0
  109. package/docs/static/typedoc/types/Expression.html +1 -1
  110. package/docs/static/typedoc/types/FilterFactory.html +1 -1
  111. package/docs/static/typedoc/types/FilterFn.html +1 -1
  112. package/docs/static/typedoc/types/HttpPromise.html +1 -0
  113. package/docs/static/typedoc/types/Injectable.html +1 -1
  114. package/docs/static/typedoc/types/InjectableFactory.html +1 -1
  115. package/docs/static/typedoc/types/LogCall.html +2 -0
  116. package/docs/static/typedoc/types/LogServiceFactory.html +2 -0
  117. package/docs/static/typedoc/types/OnChangesObject.html +1 -1
  118. package/docs/static/typedoc/types/SwapInsertPosition.html +1 -1
  119. package/docs/static/typedoc/types/TController.html +1 -1
  120. package/docs/static/typedoc/types/TemplateCache.html +2 -0
  121. package/docs/static/typedoc/variables/EventBus.html +1 -0
  122. package/index.html +4 -2
  123. package/package.json +3 -3
  124. package/src/animations/animate-css.js +5 -1
  125. package/src/binding.spec.js +3 -1
  126. package/src/core/compile/compile.spec.js +12 -5
  127. package/src/core/core.html +0 -1
  128. package/src/core/exception-handler.js +1 -1
  129. package/src/core/prop.spec.js +1 -0
  130. package/src/core/task-tracker-factory.js +2 -2
  131. package/src/directive/bind/bind.spec.js +1 -4
  132. package/src/directive/channel/channel.js +8 -24
  133. package/src/directive/channel/channel.spec.js +4 -2
  134. package/src/directive/class/class.js +16 -0
  135. package/src/directive/class/class.spec.js +2 -0
  136. package/src/directive/events/event.spec.js +1 -0
  137. package/src/directive/form/form.spec.js +2 -0
  138. package/src/directive/http/http.js +4 -4
  139. package/src/directive/if/if.spec.js +2 -0
  140. package/src/directive/include/include.spec.js +1 -0
  141. package/src/directive/input/input.spec.js +1 -0
  142. package/src/directive/model/model.spec.js +3 -0
  143. package/src/directive/model-options/model-options.spec.js +2 -0
  144. package/src/directive/observe/observe.spec.js +2 -1
  145. package/src/{core/pubsub/pubsub.html → directive/on/on.html} +1 -1
  146. package/src/{core → directive/on}/on.spec.js +5 -3
  147. package/src/directive/on/on.test.js +11 -0
  148. package/src/directive/options/options.spec.js +1 -0
  149. package/src/directive/script/script.js +1 -1
  150. package/src/directive/select/select.spec.js +1 -0
  151. package/src/directive/setter/setter.js +1 -1
  152. package/src/directive/setter/setter.spec.js +2 -0
  153. package/src/directive/switch/switch.spec.js +1 -0
  154. package/src/injection-tokens.js +3 -0
  155. package/src/interface.ts +10 -0
  156. package/src/loader.js +3 -6
  157. package/src/public.js +3 -3
  158. package/src/router/directives/state-directives.spec.js +3 -1
  159. package/src/router/params/param-factory.js +6 -0
  160. package/src/router/params/param.js +22 -7
  161. package/src/router/router.html +0 -1
  162. package/src/router/router.test.js +2 -1
  163. package/src/router/services.spec.js +2 -0
  164. package/src/router/state/state-builder.js +3 -0
  165. package/src/router/state/state-builder.spec.js +2 -0
  166. package/src/router/state/state-service.js +1 -1
  167. package/src/router/state-filter.spec.js +2 -0
  168. package/src/router/template-factory.html +19 -0
  169. package/src/router/template-factory.js +3 -3
  170. package/src/router/template-factory.spec.js +1 -0
  171. package/src/router/template-factory.test.js +12 -0
  172. package/src/router/transition/transition-hook.js +1 -1
  173. package/src/router/url/url-service.js +1 -1
  174. package/src/router/view-scroll.spec.js +3 -1
  175. package/src/services/http/http.js +4 -4
  176. package/src/services/http/http.test.js +1 -1
  177. package/src/services/http/interface.ts +243 -0
  178. package/src/services/http-backend/http-backend.js +21 -11
  179. package/src/services/log/interface.ts +39 -0
  180. package/src/services/log/log.html +19 -0
  181. package/src/services/log/log.js +74 -0
  182. package/src/services/log/log.spec.js +64 -0
  183. package/src/services/log/log.test.js +11 -0
  184. package/src/services/pubsub/pubsub.html +19 -0
  185. package/src/{core → services}/pubsub/pubsub.js +6 -5
  186. package/src/{core → services}/pubsub/pubsub.spec.js +3 -3
  187. package/src/{core → services}/pubsub/pubsub.test.js +1 -1
  188. package/src/services/template-cache/interface.ts +4 -0
  189. package/src/services/template-cache/template-cache.html +22 -0
  190. package/src/services/template-cache/template-cache.js +13 -0
  191. package/src/services/template-cache/template-cache.spec.js +62 -0
  192. package/src/services/template-cache/template-cache.test.js +11 -0
  193. package/src/services/template-request.js +2 -2
  194. package/src/shared/cache.js +9 -0
  195. package/src/shared/dom.js +13 -7
  196. package/utils/express.js +7 -9
  197. package/@types/core/cache/cache-factory.d.ts +0 -22
  198. package/@types/core/cache/cache.d.ts +0 -28
  199. package/@types/services/log.d.ts +0 -53
  200. package/src/core/cache/cache-factory.js +0 -19
  201. package/src/core/cache/cache.js +0 -27
  202. package/src/directive/class/class.md +0 -90
  203. package/src/directive/cloak/cloak.md +0 -24
  204. package/src/examples/counter.html +0 -20
  205. package/src/services/log.js +0 -95
  206. package/src/services/log.md +0 -39
@@ -9,4 +9,4 @@ $secondary: #005fc4;
9
9
 
10
10
  $td-enable-google-fonts: true;
11
11
  $td-google-font-name: 'Inter';
12
- $td-google-font-family: 'Inter:300,400,700,800,900';
12
+ $td-google-font-family: 'Inter:300,400,700,800,900';
@@ -1,8 +1,8 @@
1
1
  body {
2
- font-family: 'Inter', sans-serif !important;
3
- & .navbar-brand__name {
4
- margin-left: -5px;
5
- }
2
+ font-family: 'Inter', sans-serif !important;
3
+ & .navbar-brand__name {
4
+ margin-left: -5px;
5
+ }
6
6
  }
7
7
 
8
- @import "index.scss";
8
+ @import 'index.scss';
@@ -1,5 +1,4 @@
1
1
  #td-cover-block-0 {
2
-
3
2
  h1 {
4
3
  font-weight: 900;
5
4
 
@@ -7,8 +6,8 @@
7
6
  color: var(--bs-secondary);
8
7
  }
9
8
  }
10
-
9
+
11
10
  &::after {
12
11
  background-color: white !important; // override dark overlay
13
12
  }
14
- }
13
+ }
@@ -6,7 +6,7 @@ title: AngularTS
6
6
 
7
7
  <div class="text-center">
8
8
  <h1 class="display-1 mt-0 mt-md-5 pb-4">Angular<span>TS</span></h1>
9
- </div>
9
+ </div>
10
10
 
11
11
  <p class="lead mb-5">A modern, reactive and typesafe evolution of the classic JS framework from Google&copy;</p>
12
12
  <a class="btn btn-lg btn-secondary me-3 mb-4" href="https://github.com/Angular-Wave/angular.ts">
@@ -1,27 +1,60 @@
1
- <!-- ---
1
+ ---
2
2
  title: Documentation
3
3
  linkTitle: Docs
4
- menu: {main: {weight: 20}}
5
- --- -->
6
-
7
- {{% pageinfo %}} This is a placeholder page that shows you how to use this
8
- template site. {{% /pageinfo %}}
9
-
10
- This section is where the user documentation for your project lives - all the
11
- information your users need to understand and successfully use your project.
12
-
13
- For large documentation sets we recommend adding content under the headings in
14
- this section, though if some or all of them don’t apply to your project feel
15
- free to remove them or add your own. You can see an example of a smaller Docsy
16
- documentation site in the [Docsy User Guide](https://docsy.dev/docs/), which
17
- lives in the
18
- [Docsy theme repo](https://github.com/google/docsy/tree/master/userguide) if
19
- you'd like to copy its docs section.
20
-
21
- Other content such as marketing material, case studies, and community updates
22
- should live in the [About](/about/) and [Community](/community/) pages.
23
-
24
- Find out how to use the Docsy theme in the
25
- [Docsy User Guide](https://docsy.dev/docs/). You can learn more about how to
26
- organize your documentation (and how we organized this site) in
27
- [Organizing Your Content](https://docsy.dev/docs/best-practices/organizing-content/).
4
+ menu: { main: { weight: 20 } }
5
+ ---
6
+
7
+ Welcome to AngularTS documentation.
8
+
9
+ This section is a work in progress. Its content will be updated regularly but
10
+ feel free to rely on [AngularJS](https://docs.angularjs.org/guide) documentation
11
+ in the meantime.
12
+
13
+ ---
14
+
15
+ ### What is AngularTS?
16
+
17
+ AngularTS is buildless, type-safe and reactive JS framework for building
18
+ stuctured web applications at any scale. It continues the legacy of
19
+ [AngularJS](https://angularjs.org/) of providing the best developer experience
20
+ via immediate productivity without the burden of JS ecosystem tooling. Getting
21
+ started with AngularTS does not even require JavaScript. All you need is a
22
+ little bit of HTML. Below is a canonical example of a counter:
23
+
24
+ #### Example
25
+
26
+ {{< showhtml src="examples/counter/counter.html" >}}
27
+
28
+ #### Result
29
+
30
+ {{< showraw src="examples/counter/counter.html" >}}
31
+
32
+ ---
33
+
34
+ This code demonstrates the following key AngularTS features:
35
+
36
+ - **HTML-first:** AngularTS is designed for HTML-first approach, meaning your
37
+ application logic can be expressed declaratively in your markup using custom
38
+ attributes--called _directives_. Here, we are using `ng-init` directive to
39
+ initialize our application state and `ng-click` directive to add an event
40
+ handler that changes our state.
41
+ - **Template-driven:** AngularTS’s built-in template engine automatically keeps
42
+ the UI in sync with your application state, eliminating the need for manual
43
+ DOM tracking and updates. The `{{count}}` expression above is an example of
44
+ Angular's interpolation syntax. As the value of `count` variable increases,
45
+ our UI is updated with the new state.
46
+
47
+ - **Island-first and zero-cost:** AngularTS creates an application on any HTML
48
+ tag with `ng-app` attribute, allowing multiple independent applications to
49
+ live on a single page. The enables AngularTS to work alongside your existing
50
+ tech stack where the majority of your page is rendered on the server, while
51
+ AngularTS is isolated to small “islands” (regions of your page) where custom
52
+ interactivity or personalization is required.
53
+
54
+ - **Micro-framework appearance:** With its minimal setup, AngularTS is
55
+ well-suited for quick experiments, LLM-generated code, and learning web
56
+ development in general. But beneath its lightweight surface, it supports
57
+ structured enterprise design patterns, MVC architecture, and component-driven
58
+ design. With its rich directive library, state-based routing and support for
59
+ animations, AngularTS is a complete package for building large SPAs, server,
60
+ mobile, and desktop applications.
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: Directives
3
+ weight: 10
4
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: ng-app
3
+ description: >
4
+ Bootstrap AngularTS application
5
+ ---
6
+
7
+ ### Description
8
+
9
+ Use this directive to auto-bootstrap an AngularTS application. The `ng-app`
10
+ directive designates the root element of the application and is typically placed
11
+ near the root element of the page - e.g. on the <body> or <html> tags.
File without changes
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: ng-channel
3
+ description: >
4
+ Subscribe a template to a messaging service topic
5
+ ---
6
+
7
+ ### Description
8
+
9
+ Updates element’s content by subscribing to events published on a named channel
10
+ using `$eventBus`.
11
+
12
+ - If the element **does not** contain any child elements or templates, the
13
+ directive will **replace the element's inner HTML** with the published value.
14
+ - If the element **does** contain a template and the published value is an
15
+ **object**, the directive will **merge the object’s key-value pairs into the
16
+ current scope**, allowing Angular expressions like `{{ user.firstName }}` to
17
+ be evaluated and rendered.
18
+
19
+ The directive automatically unsubscribes from the event channel when the scope
20
+ is destroyed.
21
+
22
+ ### Parameters
23
+
24
+ ---
25
+
26
+ #### `ng-channel`
27
+
28
+ - **Type:** `string`
29
+ - **Description:** The name of the channel to subscribe to using `$eventBus`.
30
+
31
+ ### Example
32
+
33
+ {{< showhtml src="examples/ng-channel/ng-channel.html" >}}
34
+
35
+ ### Demo
36
+
37
+ {{< showraw src="examples/ng-channel/ng-channel.html" >}}
38
+
39
+ ---
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: ng-class-even
3
+ description: >
4
+ Apply CSS classes to even-indexed elements inside `ng-repeat`.
5
+ ---
6
+
7
+ ### Description
8
+
9
+ The `ng-class-even` directive works just like [`ng-class`](./class), but it
10
+ applies only to **even-indexed** elements in an [`ng-repeat`](../repeat) block.
11
+
12
+ > Must be used inside `ng-repeat`.
13
+
14
+ ### Animations
15
+
16
+ If `data-animate` attribute is present, the following animations will be applied
17
+ to the element:
18
+
19
+ | Animation | Occurs |
20
+ | --------------------------------------- | -------------------------------------------- |
21
+ | [`add-class`](../../service/animate) | Before the class is applied to the element |
22
+ | [`remove-class`](../../service/animate) | Before the class is removed from the element |
23
+
24
+ ### Directive parameters
25
+
26
+ ---
27
+
28
+ #### `ng-class-even`
29
+
30
+ - **Type:** `string | array`
31
+ - **Description:** An expression evaluating to a space-delimited string or array
32
+ of class names.
33
+ - **Example:**
34
+
35
+ ```html
36
+ <div ng-repeat="item in items" ng-class-even="'even-row'"></div>
37
+ ```
38
+
39
+ ---
40
+
41
+ ### Example
42
+
43
+ {{< showhtml src="examples/ng-class-even/ng-class-even.html" >}}
44
+
45
+ ### Demo
46
+
47
+ {{< showraw src="examples/ng-class-even/ng-class-even.html" >}}
@@ -0,0 +1,48 @@
1
+ ---
2
+ title: ng-class-odd
3
+ description: >
4
+ Apply CSS classes to odd-indexed elements inside `ngRepeat`.
5
+ ---
6
+
7
+ ### Description
8
+
9
+ The `ng-class-odd` directive works just like [`ng-class`](../class), but it
10
+ applies only to **odd-indexed** elements inside an [`ng-repeat`](../repeat)
11
+ block.
12
+
13
+ > Must be used inside `ng-repeat`.
14
+
15
+ ### Animations
16
+
17
+ If `data-animate` attribute is present, the following animations will be applied
18
+ to the element:
19
+
20
+ | Animation | Occurs |
21
+ | --------------------------------------- | -------------------------------------------- |
22
+ | [`add-class`](../../service/animate) | Before the class is applied to the element |
23
+ | [`remove-class`](../../service/animate) | Before the class is removed from the element |
24
+
25
+ ### Directive parameters
26
+
27
+ ---
28
+
29
+ #### `ng-class-odd`
30
+
31
+ - **Type:** `string | array`
32
+ - **Description:** An expression evaluating to a space-delimited string or array
33
+ of class names.
34
+ - **Example:**
35
+
36
+ ```html
37
+ <div ng-repeat="item in items" ng-class-odd="'odd-row'"></div>
38
+ ```
39
+
40
+ ---
41
+
42
+ ### Example
43
+
44
+ {{< showhtml src="examples/ng-class-odd/ng-class-odd.html" >}}
45
+
46
+ ### Demo
47
+
48
+ {{< showraw src="examples/ng-class-odd/ng-class-odd.html" >}}
@@ -0,0 +1,64 @@
1
+ ---
2
+ title: ng-class
3
+ description: >
4
+ Dynamically bind one or more CSS classes using expressions.
5
+ ---
6
+
7
+ ### Description
8
+
9
+ The `ng-class` directive allows dynamically setting CSS classes on an HTML
10
+ element by binding to an expression. The directive supports the following
11
+ expression types:
12
+
13
+ 1. **String** — space-delimited class names.
14
+ 2. **Object** — keys as class names and values as booleans. Truthy values add
15
+ the class.
16
+ 3. **Array** — containing strings and/or objects as described above.
17
+
18
+ When the expression changes:
19
+
20
+ - Previously added classes are removed.
21
+ - New classes are added.
22
+ - Duplicate classes are avoided.
23
+
24
+ **Important**: Avoid using interpolation (`{{ ... }}`) in the value of the
25
+ `class` attribute together with `ng-class`. See
26
+ [interpolation known issues](../../../docs/guide/interpolation#known-issues) for
27
+ details.
28
+
29
+ ### Animations
30
+
31
+ If `data-animate` attribute is present, the following animations will be applied
32
+ to the element:
33
+
34
+ | Animation | Occurs |
35
+ | --------------------------------------- | --------------------------------------------------- |
36
+ | [`add-class`](../../service/animate) | Before the class is applied to the element |
37
+ | [`remove-class`](../../service/animate) | Before the class is removed from the element |
38
+ | [`set-class`](../../service/animate) | Before classes are simultaneously added and removed |
39
+
40
+ > `ng-class` supports standard CSS3 transitions/animations even if they don’t
41
+ > follow `$animate` service naming conventions.
42
+
43
+ ### Directive parameters
44
+
45
+ ---
46
+
47
+ #### `ng-class`
48
+
49
+ - **Type:** `string | object | array`
50
+ - **Description:** An expression whose result determines the CSS classes to
51
+ apply.
52
+ - **Example:**
53
+
54
+ ```html
55
+ <div ng-class="{ active: isActive, disabled: isDisabled }"></div>
56
+ ```
57
+
58
+ ### Example
59
+
60
+ {{< showhtml src="examples/ng-class/ng-class.html" >}}
61
+
62
+ ### Demo
63
+
64
+ {{< showraw src="examples/ng-class/ng-class.html" >}}
@@ -0,0 +1,78 @@
1
+ ---
2
+ title: ng-cloak
3
+ description: >
4
+ Hide interpolated templates
5
+ ---
6
+
7
+ ### Description
8
+
9
+ The `ng-cloak` directive is used to prevent the HTML template from being briefly
10
+ displayed by the browser in its raw (uncompiled) form while your application is
11
+ loading. Use this directive to avoid the undesirable flicker effect caused by
12
+ the HTML template display.
13
+
14
+ The directive can be applied to the `<body>` element, but the preferred usage is
15
+ to apply multiple `ng-cloak` directives to small portions of the page to permit
16
+ progressive rendering of the browser view.
17
+
18
+ `ng-cloak` works in cooperation with the following CSS rule:
19
+
20
+ ```css
21
+ @charset "UTF-8";
22
+
23
+ [ng-cloak],
24
+ [data-ng-cloak],
25
+ .ng-cloak,
26
+ .ng-hide:not(.ng-hide-animate) {
27
+ display: none !important;
28
+ }
29
+
30
+ .ng-animate-shim {
31
+ visibility: hidden;
32
+ }
33
+
34
+ .ng-anchor {
35
+ position: absolute;
36
+ }
37
+ ```
38
+
39
+ CSS styles are available in npm distribution:
40
+
41
+ ```html
42
+ <link
43
+ rel="stylesheet"
44
+ href="https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/css/angular.min.css"
45
+ />
46
+ ```
47
+
48
+ or using `style` tag:
49
+
50
+ ```html
51
+ <style>
52
+ @charset "UTF-8";
53
+ .ng-cloak,
54
+ .ng-hide:not(.ng-hide-animate),
55
+ [data-ng-cloak],
56
+ [ng-cloak] {
57
+ display: none !important;
58
+ }
59
+ .ng-animate-shim {
60
+ visibility: hidden;
61
+ }
62
+ .ng-anchor {
63
+ position: absolute;
64
+ }
65
+ </style>
66
+ ```
67
+
68
+ ### Example
69
+
70
+ ```html
71
+ <section ng-app ng-clock>These tags are invisible {{ hello }}</section>
72
+ ```
73
+
74
+ ### Demo
75
+
76
+ <section ng-app ng-clock> These tags are invisible {{ hello }} </section>
77
+
78
+ ---
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: ng-include
3
+ description: >
4
+ Include a template
5
+ ---
6
+
7
+ ### Description
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: Filters
3
+ weight: 60
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: Providers
3
+ weight: 30
4
+ ---
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: $eventBusProvider
3
+ description: >
4
+ Configuration provider for `$eventBus` service.
5
+ ---
6
+
7
+ ### Description
8
+
9
+ Instance of [PubSubProvider](../../../typedoc/classes/PubSubProvider.html) for
10
+ configuring the `$eventBus` service. The default implementation returns the
11
+ global `angular.EventBus` instance, which is an async instance of
12
+ [PubSub](../../../typedoc/classes/PubSub.html) class.
13
+
14
+ ### Properties
15
+
16
+ ---
17
+
18
+ #### $eventBusProvider.eventBus
19
+
20
+ Customize event bus instance.
21
+
22
+ - **Type:** [PubSub](../../../typedoc/classes/PubSub.html)
23
+ - **Default:** `angular.EventBus`
24
+
25
+ - **Example:**
26
+
27
+ ```js
28
+ angular.module('demo', []).config(($eventBusProvider) => {
29
+ eventBusProvider.eventBus = new MyCustomPubsub();
30
+ });
31
+ ```
32
+
33
+ ---
34
+
35
+ For service description, see [$eventBus](../../../docs/service/eventbus).
@@ -0,0 +1,59 @@
1
+ ---
2
+ title: $logProvider
3
+ description: >
4
+ Configuration provider for `$log` service.
5
+ ---
6
+
7
+ ### Description
8
+
9
+ Instance of [LogProvider](../../../typedoc/classes/LogProvider.html) for
10
+ configuring how the application logs messages.
11
+
12
+ ### Properties
13
+
14
+ ---
15
+
16
+ #### $logProvider.debug
17
+
18
+ Enable or disable debug-level logging. Also see
19
+ [debug property](../../../typedoc/classes/LogProvider.html#debug).
20
+
21
+ - **Type:** boolean
22
+ - **Default:** `false`
23
+ - **Example:**
24
+
25
+ ```js
26
+ angular.module('demo', []).config(($logProvider) => {
27
+ $logProvider.debug = true;
28
+ });
29
+ ```
30
+
31
+ ### Methods
32
+
33
+ ---
34
+
35
+ #### $logProvider.setLogger()
36
+
37
+ Override the default logger with a custom implementation of the
38
+ [LogService](../../../typedoc/interfaces/LogService.html) interface.
39
+
40
+ - **Parameter:**
41
+ [LogServiceFactory](../../../typedoc/types/LogServiceFactory.html)
42
+
43
+ - **Example:**
44
+
45
+ ```js
46
+ angular.module('demo', []).config(($logProvider) => {
47
+ $logProvider.setLogger(() => ({
48
+ log: () => {},
49
+ info: () => {},
50
+ warn: () => {},
51
+ error: () => {},
52
+ debug: () => {},
53
+ }));
54
+ });
55
+ ```
56
+
57
+ ---
58
+
59
+ For service description, see [$log](../../../docs/service/log).
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: $templateCacheProvider
3
+ description: >
4
+ Cache provider for `$templateCache` service.
5
+ ---
6
+
7
+ ### Description
8
+
9
+ Initializes cache instancce for `$templateCache` service as an empty
10
+ [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)
11
+ object.
12
+
13
+ ### Properties
14
+
15
+ ---
16
+
17
+ #### $templateCacheProvider.cache
18
+
19
+ Customize cache instance.
20
+
21
+ - **Type:** [TemplateCache](../../../typedoc/types/TemplateCache.html)
22
+ - **Default:** `Map`
23
+
24
+ - **Example:**
25
+
26
+ ```js
27
+ angular.module('demo', []).config(($templateCacheProvider) => {
28
+ templateCacheProvider.cache.set('test.html', 'hello');
29
+ });
30
+ ```
31
+
32
+ ---
33
+
34
+ For service description, see
35
+ [$templateCache](../../../docs/service/templatecache).
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: Services
3
+ weight: 40
4
+ ---
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: $eventBus
3
+ description: >
4
+ Pubsub messaging service
5
+ ---
6
+
7
+ ### Description
8
+
9
+ A messaging service, backed by an instance of
10
+ [PubSub](../../../typedoc/classes/PubSub.html). This implementation is based on
11
+ the original
12
+ [Google Closure PubSub](https://google.github.io/closure-library/api/goog.pubsub.PubSub.html)
13
+ but uses
14
+ [`Promise.resolve()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve)
15
+ instead of
16
+ [`Window.setTimeout()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout)
17
+ for its async implementation. `$eventBus` allows communication between an
18
+ Angular application instance and the outside context, which can be a different
19
+ module, a non-Angular application, a third-party party library, or even a WASM
20
+ application. Additionally, `$eventBus` can be used to communicate directly with
21
+ a template, using [`ng-channel`](../../../docs/directive/channel) directive.
22
+
23
+ `$eventBus` should not be used for communicating between Angular's own
24
+ primitives.
25
+
26
+ - **For sharing application state**: use custom Services and Factories that
27
+ encapsulate your business logic and manage your model.
28
+ - **For intercomponent communication**: use `$scope.$on()`, `$scope.$emit()`,
29
+ and `$scope.$broadcast()` methods.
30
+
31
+ The example below demonstrates communication between the global `window` context
32
+ and a controller. **Note**: Ensure topic clean-up after the `$scope` is
33
+ destroyed
34
+
35
+ #### Example
36
+
37
+ {{< showhtml src="examples/eventbus/eventbus.html" >}}
38
+
39
+ {{< showjs src="examples/eventbus/eventbus.js" >}}
40
+
41
+ ---
42
+
43
+ #### Demo
44
+
45
+ {{< showraw src="examples/eventbus/eventbus.html" >}}
46
+
47
+ <script>
48
+ {{< showraw src="examples/eventbus/eventbus.js" >}}
49
+ </script>
50
+
51
+ ---
52
+
53
+ For detailed method description, see
54
+ [PubSub](../../../typedoc/classes/PubSub.html)
55
+
56
+ ---