Browse Source

Merge pull request #5585 from abpframework/docs/restructure

Restructured Angular documentation
pull/5588/head
Levent Arman Özak 6 years ago
committed by GitHub
parent
commit
1285726ae5
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      docs/en/UI/Angular/Config-State.md
  2. 4
      docs/en/UI/Angular/Content-Projection-Service.md
  3. 4
      docs/en/UI/Angular/Custom-Setting-Page.md
  4. 4
      docs/en/UI/Angular/Dom-Insertion-Service.md
  5. 9
      docs/en/UI/Angular/Environment.md
  6. 4
      docs/en/UI/Angular/Lazy-Load-Service.md
  7. 5
      docs/en/UI/Angular/List-Service.md
  8. 29
      docs/en/UI/Angular/Multi-Tenancy.md
  9. 2
      docs/en/UI/Angular/Quick-Start.md
  10. 2
      docs/en/UI/Angular/Service-Proxies.md
  11. 4
      docs/en/UI/Angular/Subscription-Service.md
  12. 2
      docs/en/UI/Angular/Toaster-Service.md
  13. 4
      docs/en/UI/Angular/Track-By-Service.md
  14. 148
      docs/en/docs-nav.json

2
docs/en/UI/Angular/Config-State.md

@ -233,4 +233,4 @@ Please refer to `Config.Environment` type for all the properties you can pass to
## What's Next? ## What's Next?
- [Modifying the Menu](./Modifying-the-Menu.md) - [HTTP Requests](./Http-Requests)

4
docs/en/UI/Angular/Content-Projection-Service.md

@ -1,4 +1,4 @@
# Content Projection # Projecting Angular Content
You can use the `ContentProjectionService` in @abp/ng.core package in order to project content in an easy and explicit way. You can use the `ContentProjectionService` in @abp/ng.core package in order to project content in an easy and explicit way.
@ -75,4 +75,4 @@ projectContent<T extends Type<any> | TemplateRef<any>>(
## What's Next? ## What's Next?
- [TrackByService](./Track-By-Service.md) - [Confirmation Popup](./Confirmation-Service.md)

4
docs/en/UI/Angular/Custom-Setting-Page.md

@ -35,7 +35,3 @@ export class AppComponent {
Navigate to `/setting-management` route to see the changes: Navigate to `/setting-management` route to see the changes:
![Custom Settings Tab](./images/custom-settings.png) ![Custom Settings Tab](./images/custom-settings.png)
## What's Next?
- [Lazy Loading Scripts & Styles](./Lazy-Load-Service.md)

4
docs/en/UI/Angular/Dom-Insertion-Service.md

@ -1,4 +1,4 @@
# Dom Insertion (of Scripts and Styles) # Inserting Scripts & Styles to DOM
You can use the `DomInsertionService` in @abp/ng.core package in order to insert scripts and styles in an easy and explicit way. You can use the `DomInsertionService` in @abp/ng.core package in order to insert scripts and styles in an easy and explicit way.
@ -137,4 +137,4 @@ The `has` method returns a boolean value that indicates the given content has al
## What's Next? ## What's Next?
- [ContentProjectionService](./Content-Projection-Service.md) - [Lazy Loading Scripts & Styles](./Lazy-Load-Service.md)

9
docs/en/UI/Angular/Environment.md

@ -4,7 +4,7 @@ Every application needs some **environment** variables. In Angular world, this i
Current `Environment` configuration holds sub config classes as follows: Current `Environment` configuration holds sub config classes as follows:
```typescript ```js
export interface Environment { export interface Environment {
apis: Apis; apis: Apis;
application: Application; application: Application;
@ -16,7 +16,7 @@ export interface Environment {
## Apis ## Apis
```typescript ```js
export interface Apis { export interface Apis {
[key: string]: ApiConfig; [key: string]: ApiConfig;
default: ApiConfig; default: ApiConfig;
@ -56,7 +56,7 @@ Everything else will be sent to `"https://localhost:8080"`
## Application ## Application
```typescript ```js
export interface Application { export interface Application {
name: string; name: string;
baseUrl?: string; baseUrl?: string;
@ -80,7 +80,7 @@ Abp Framework supports this out of box.
To integrate an existing config json into the `environment`, you need to set `remoteEnv` To integrate an existing config json into the `environment`, you need to set `remoteEnv`
```typescript ```js
export type customMergeFn = ( export type customMergeFn = (
localEnv: Partial<Config.Environment>, localEnv: Partial<Config.Environment>,
remoteEnv: any, remoteEnv: any,
@ -106,4 +106,3 @@ export interface RemoteEnv {
## What's Next? ## What's Next?
* [Service Proxies](./Service-Proxies.md) * [Service Proxies](./Service-Proxies.md)

4
docs/en/UI/Angular/Lazy-Load-Service.md

@ -1,4 +1,4 @@
# How to Lazy Load Scripts and Styles # Lazy Loading Scripts & Styles
You can use the `LazyLoadService` in @abp/ng.core package in order to lazy load scripts and styles in an easy and explicit way. You can use the `LazyLoadService` in @abp/ng.core package in order to lazy load scripts and styles in an easy and explicit way.
@ -210,4 +210,4 @@ load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Obser
## What's Next? ## What's Next?
- [DomInsertionService](./Dom-Insertion-Service.md) - [Projecting Angular Content](./Content-Projection-Service.md)

5
docs/en/UI/Angular/List-Service.md

@ -177,3 +177,8 @@ As of v3.0, with ngx-datatable, the `page` property has to be set as `0` for ini
``` ```
**Important Note:** The `abp-table` is not removed, but is deprecated and will be removed in the future. Please consider switching to ngx-datatable. **Important Note:** The `abp-table` is not removed, but is deprecated and will be removed in the future. Please consider switching to ngx-datatable.
## What's Next?
- [Easy *ngFor trackBy](./Track-By-Service.md)

29
docs/en/UI/Angular/Multi-Tenancy.md

@ -2,8 +2,8 @@
ABP Angular UI supports the multi-tenancy. The following features related to multi-tenancy are available in the startup templates. ABP Angular UI supports the multi-tenancy. The following features related to multi-tenancy are available in the startup templates.
![Tenants Page](./images/tenants-page.png) ![Tenants Page](./images/tenants-page.png)
<p style="font-size:small;text-align:center;">Tenants page</p> <p style="font-size:small;text-align:center;">Tenants page</p>
On the page above, you can; On the page above, you can;
@ -13,13 +13,12 @@ On the page above, you can;
- Edit an existing tenant. - Edit an existing tenant.
- Delete a tenant. - Delete a tenant.
![Tenant Switching Component](./images/tenant-switching-box.png) ![Tenant Switching Component](./images/tenant-switching-box.png)
<p style="font-size:small;text-align:center;">Tenant Switching Component</p> <p style="font-size:small;text-align:center;">Tenant Switching Component</p>
You can switch between existing tenants by using the tenant switching component in the child pages of the `AccountLayoutComponent` (like Login page). Angular UI sends the selected tenant id to the backend as `__tenant` header on each request. You can switch between existing tenants by using the tenant switching component in the child pages of the `AccountLayoutComponent` (like Login page). Angular UI sends the selected tenant id to the backend as `__tenant` header on each request.
## Domain Tenant Resolver ## Domain Tenant Resolver
Angular UI can get the tenant name from the app running URL. You can determine the current tenant by subdomain (like mytenant1.mydomain.com) or by the whole domain (like mytenant.com). To do this, you need to set the `application.baseUrl` property in the environment: Angular UI can get the tenant name from the app running URL. You can determine the current tenant by subdomain (like mytenant1.mydomain.com) or by the whole domain (like mytenant.com). To do this, you need to set the `application.baseUrl` property in the environment:
@ -32,10 +31,10 @@ Subdomain resolver:
export const environment = { export const environment = {
//... //...
application: { application: {
baseUrl: 'https://{0}.mydomain.com/' baseUrl: "https://{0}.mydomain.com/",
}, },
//... //...
} };
``` ```
**{0}** is the placeholder to determine current tenant's unique name. **{0}** is the placeholder to determine current tenant's unique name.
@ -44,7 +43,6 @@ After the configuration above, if your app runs on the `mytenant1.mydomain.com`,
> **Important Note:** If you define the `baseUrl` with the placeholder (**{0}**), the tenant switching component in the child pages of the `AccountLayoutComponent` (like Login page) will be hidden. > **Important Note:** If you define the `baseUrl` with the placeholder (**{0}**), the tenant switching component in the child pages of the `AccountLayoutComponent` (like Login page) will be hidden.
Domain resolver: Domain resolver:
```js ```js
@ -53,10 +51,10 @@ Domain resolver:
export const environment = { export const environment = {
//... //...
application: { application: {
baseUrl: 'https://{0}.com/' baseUrl: "https://{0}.com/",
}, },
//... //...
} };
``` ```
After the configuration above, if your app runs on the `mytenant.com`, the app will get the tenant name as **mytenant**. After the configuration above, if your app runs on the `mytenant.com`, the app will get the tenant name as **mytenant**.
@ -71,29 +69,28 @@ The **{0}** placeholder can be put to the API URLs in the environment to determi
export const environment = { export const environment = {
//... //...
application: { application: {
baseUrl: 'https://{0}.mydomain.com/', baseUrl: "https://{0}.mydomain.com/",
//... //...
}, },
oAuthConfig: { oAuthConfig: {
issuer: 'https://{0}.ids.mydomain.com', issuer: "https://{0}.ids.mydomain.com",
//... //...
}, },
apis: { apis: {
default: { default: {
url: 'https://{0}.api.mydomain.com', url: "https://{0}.api.mydomain.com",
}, },
AbpIdentity: { AbpIdentity: {
url: 'https://{0}.identity.mydomain.com', url: "https://{0}.identity.mydomain.com",
}, },
}, },
} };
``` ```
> **Important Note:** The `application.baseUrl` and the `{0}` placeholder in the value of the `baseUrl` property are required to be able to get tenant from running URL. Other placeholders in API URLs are optional. > **Important Note:** The `application.baseUrl` and the `{0}` placeholder in the value of the `baseUrl` property are required to be able to get tenant from running URL. Other placeholders in API URLs are optional.
After the configuration above, if your app runs on the `mytenant1.mydomain.com`, the app will get tenant name as **mytenant1** and replace the environment object in `ConfigState` on app initialization as follows: After the configuration above, if your app runs on the `mytenant1.mydomain.com`, the app will get tenant name as **mytenant1** and replace the environment object in `ConfigState` on app initialization as follows:
```js ```js
// environment object in ConfigState // environment object in ConfigState
@ -128,8 +125,8 @@ The app sends the `__tenant` header that contains the current tenant id on each
## See Also ## See Also
* [Multi Tenancy in ABP](../../Multi-Tenancy.md) - [Multi Tenancy in ABP](../../Multi-Tenancy.md)
## What's Next? ## What's Next?
- [Confirmation Popup](./Confirmation-Service.md) - [Managing RxJS Subscriptions](./Subscription-Service.md)

2
docs/en/UI/Angular/Quick-Start.md

@ -209,4 +209,4 @@ In addition, you can [deploy your application to certain targets using the Angul
## What's Next? ## What's Next?
- [Environment](./Environment.md) - [Environment Variables](./Environment.md)

2
docs/en/UI/Angular/Service-Proxies.md

@ -141,4 +141,4 @@ export class BookComponent implements OnInit {
## What's Next? ## What's Next?
- [HTTP Requests](./Http-Requests) - [Config State](./Config-State.md)

4
docs/en/UI/Angular/Subscription-Service.md

@ -1,4 +1,4 @@
# Easy Unsubscription for Your Observables # Managing RxJS Subscriptions
`SubscriptionService` is a utility service to provide an easy unsubscription from RxJS observables in Angular components and directives. Please see [why you should unsubscribe from observables on instance destruction](https://angular.io/guide/lifecycle-hooks#cleaning-up-on-instance-destruction). `SubscriptionService` is a utility service to provide an easy unsubscription from RxJS observables in Angular components and directives. Please see [why you should unsubscribe from observables on instance destruction](https://angular.io/guide/lifecycle-hooks#cleaning-up-on-instance-destruction).
@ -200,4 +200,4 @@ class DemoComponent implements OnInit {
## What's Next? ## What's Next?
- [ListService](./List-Service.md) - [Working with Lists](./List-Service.md)

2
docs/en/UI/Angular/Toaster-Service.md

@ -156,4 +156,4 @@ Removes all open toasts.
## What's Next? ## What's Next?
- [Config State](./Config-State.md) - [Modifying the Menu](./Modifying-the-Menu.md)

4
docs/en/UI/Angular/Track-By-Service.md

@ -1,4 +1,4 @@
# Easy TrackByFunction Implementation # Easy *ngFor trackBy
`TrackByService` is a utility service to provide an easy implementation for one of the most frequent needs in Angular templates: `TrackByFunction`. Please see [this page in Angular docs](https://angular.io/guide/template-syntax#ngfor-with-trackby) for its purpose. `TrackByService` is a utility service to provide an easy implementation for one of the most frequent needs in Angular templates: `TrackByFunction`. Please see [this page in Angular docs](https://angular.io/guide/template-syntax#ngfor-with-trackby) for its purpose.
@ -116,4 +116,4 @@ class DemoComponent {
## What's Next? ## What's Next?
- [SubscriptionService](./Subscription-Service.md) - [Inserting Scripts & Styles to DOM](./Dom-Insertion-Service.md)

148
docs/en/docs-nav.json

@ -436,76 +436,96 @@
"path": "UI/Angular/Quick-Start.md" "path": "UI/Angular/Quick-Start.md"
}, },
{ {
"text": "Environment", "text": "Development",
"path": "UI/Angular/Environment.md" "items": [
}, {
{ "text": "Environment Variables",
"text": "Service Proxies", "path": "UI/Angular/Environment.md"
"path": "UI/Angular/Service-Proxies.md" },
}, {
{ "text": "Service Proxies",
"text": "HTTP Requests", "path": "UI/Angular/Service-Proxies.md"
"path": "UI/Angular/HTTP-Requests.md" }
}, ]
{
"text": "Localization",
"path": "UI/Angular/Localization.md"
},
{
"text": "Permission Management",
"path": "UI/Angular/Permission-Management.md"
},
{
"text": "Multi Tenancy",
"path": "UI/Angular/Multi-Tenancy.md"
},
{
"text": "Confirmation Popup",
"path": "UI/Angular/Confirmation-Service.md"
},
{
"text": "Toast Overlay",
"path": "UI/Angular/Toaster-Service.md"
},
{
"text": "Config State",
"path": "UI/Angular/Config-State.md"
},
{
"text": "Modifying the Menu",
"path": "UI/Angular/Modifying-the-Menu.md"
},
{
"text": "Component Replacement",
"path": "UI/Angular/Component-Replacement.md"
},
{
"text": "Custom Setting Page",
"path": "UI/Angular/Custom-Setting-Page.md"
},
{
"text": "Lazy Loading Scripts & Styles",
"path": "UI/Angular/Lazy-Load-Service.md"
},
{
"text": "DomInsertionService",
"path": "UI/Angular/Dom-Insertion-Service.md"
},
{
"text": "ContentProjectionService",
"path": "UI/Angular/Content-Projection-Service.md"
}, },
{ {
"text": "TrackByService", "text": "Core Functionality",
"path": "UI/Angular/Track-By-Service.md" "items": [
{
"text": "Config State",
"path": "UI/Angular/Config-State.md"
},
{
"text": "HTTP Requests",
"path": "UI/Angular/HTTP-Requests.md"
},
{
"text": "Localization",
"path": "UI/Angular/Localization.md"
},
{
"text": "Permission Management",
"path": "UI/Angular/Permission-Management.md"
},
{
"text": "Multi Tenancy",
"path": "UI/Angular/Multi-Tenancy.md"
}
]
}, },
{ {
"text": "SubscriptionService", "text": "Utilities",
"path": "UI/Angular/Subscription-Service.md" "items": [
{
"text": "Managing RxJS Subscriptions",
"path": "UI/Angular/Subscription-Service.md"
},
{
"text": "Working with Lists",
"path": "UI/Angular/List-Service.md"
},
{
"text": "Easy *ngFor trackBy",
"path": "UI/Angular/Track-By-Service.md"
},
{
"text": "Inserting Scripts & Styles to DOM",
"path": "UI/Angular/Dom-Insertion-Service.md"
},
{
"text": "Lazy Loading Scripts & Styles",
"path": "UI/Angular/Lazy-Load-Service.md"
},
{
"text": "Projecting Angular Content",
"path": "UI/Angular/Content-Projection-Service.md"
},
{
"text": "Confirmation Popup",
"path": "UI/Angular/Confirmation-Service.md"
},
{
"text": "Toast Overlay",
"path": "UI/Angular/Toaster-Service.md"
}
]
}, },
{ {
"text": "ListService", "text": "Customization",
"path": "UI/Angular/List-Service.md" "items": [
{
"text": "Modifying the Menu",
"path": "UI/Angular/Modifying-the-Menu.md"
},
{
"text": "Component Replacement",
"path": "UI/Angular/Component-Replacement.md"
},
{
"text": "Custom Setting Page",
"path": "UI/Angular/Custom-Setting-Page.md"
}
]
} }
] ]
}, },

Loading…
Cancel
Save