<a name="_6413c217ac070f0cc888ef237e5f77bca091ed14c4a6b017e8102394c2fc842d"></a>
# IBM Angular SDK for Watson Content Hub

[![NPM version](https://badge.fury.io/js/@ibm-wch-sdk/ng.svg)](https://npmjs.org/package/@ibm-wch-sdk/ng)

This module represents a [software development kit](https://en.wikipedia.org/wiki/Software_development_kit) (SDK) that can be used by [Angular 4](https://angular.io/docs/ts/latest/) based applications to build [single page applications](https://en.wikipedia.org/wiki/Single-page_application) (SPA) against [Watson Content Hub](https://www.ibm.com/bs-en/marketplace/cloud-cms-solution) (WCH) managed pages.

## Changes

[CHANGELOG](#_20bdb6f8aeaf2e57d73cf0f8f7596ac3a05ab33429cf49a686e6738debcd4512)

## Usage

```bash
npm install --save @ibm-wch-sdk/ng
```

## Class documentation

Refer to the [documentation](#_28a07594e891c43454fa39c2c573639385bbf768c0897d05c3db61d89570388b).

## Components

The SDK defines one top level [module](#_4f5f0d570547cc32a6c26a19831659ff187906f3e173dec4cc7caa8b01b03375) module for use in the application component.

```typescript
imports: [
    ...
    WchNgModule.forRoot({ apiUrl: new URL(apiUrl), deliveryUrl: new URL(deliveryUrl) })
    ...
]
```

# First steps

Building an application for WCH involves a client side and a server side step. During the server side step you create your content in WCH. During the client side step you build your Angular 4 application that consumers the content.

## Prerequisites

- Install a [node environment](https://docs.npmjs.com/getting-started/installing-node) with [Node >= 4](https://nodejs.org/en/) and [NPM >= 3](https://www.npmjs.com/).
- Make sure you have a text editor installed. For editing [Typescript](https://www.typescriptlang.org/) we recommend [Visual Studio Code](https://code.visualstudio.com/), consider installing also these [extensions](https://medium.com/frontend-coach/7-must-have-visual-studio-code-extensions-for-angular-af9c476147fd).

## Server Side

Please refer to the [Server Side Setup](https://github.ibm.com/DX/prod-delivery-render/wiki/How-To-setup-a-tenant-for-client-side-rendering) instructions.

## Client Side

First install [angular-cli](https://github.com/angular/angular-cli) using

```bash
npm install -g @angular/cli
```

Bootstrap your angular application

```bash
ng new PROJECT-NAME
cd PROJECT-NAME
```

Install the WCH SDK and its peer dependencies:

```bash
npm install --save @ibm-wch-sdk/ng
```

Create [angular components](https://angular.io/api/core/Component) for the layouts defined during the server setup.

```bash
ng g component layouts/MY_COMPONENT
```

Add a [layout selector](#_79e64e744e1a60fe26344df9abd530ef32849774b9c22887da485e3d35a9e9d6) to your component. The selector creates the connection between the layout identifier and the angular component. In addition it is convenient (but not required) to subclass your new component from [AbstractRenderingComponent](#_c67a54fbe639545fc8ecc33a206087da27aab36585eca9f5671d52da5484a234). Make the following changes to the `MY_COMPONENT.ts` file created in the step before:

```typescript
import { LayoutComponent, AbstractRenderingComponent } from '@ibm-wch-sdk/ng';

@LayoutComponent({
  selector: ['MY_COMPONENT_SELECTOR']
})
@Component({
    ...
})
export class MyComponent extends AbstractRenderingComponent {

    constructor() {
        super();
    }
}
```

Make sure to add your new layout to the set of entry components of the main module, because the component will be instantiated dynamically:

```typescript
@NgModule({
  ...
  entryComponents: [MyComponent, ...],
  ...
})
export class AppModule {
}
```

You will typically run your application in local development mode, first. Configure it to use the WCH server and tenant of your choice as the backend service. Do this by adding the configured [WchModule](#_4f5f0d570547cc32a6c26a19831659ff187906f3e173dec4cc7caa8b01b03375) to the main application module. A convenient way to configure this module is via the `environment` config file. The CLI will automatically select the correct file depending on your development environment (e.g. `dev` vs. `production`).

```typescript
import { WchModule } from '@ibm-wch-sdk/ng';
import { environment } from '../environments/environment';
...
@NgModule({
...
  imports: [
    ...
    WchNgModule.forRoot(environment)
    ...
  ]
})
export class AppModule {
}
```

The content of the environment file for local development might look like this:

```typescript
const HOSTNAME = 'dch-dxcloud.rtp.raleigh.ibm.com';
const TENANT_ID = '7576818c-ca11-4b86-b03d-333313c4f0ad';
export const apiUrl = `http://${HOSTNAME}/api/${TENANT_ID}`;

export const environment = {
  production: false,
  apiUrl
};
```

In a last step you'll add [routing](#_cd96c202ef926a9a7797f271485fb9854430c1b72b0204252b468c1959ffadc7) to the application. The easiest way is to configure all routes to be served by [WCH pages](#_cd96c202ef926a9a7797f271485fb9854430c1b72b0204252b468c1959ffadc7). For this create the following router config and add it to your main application module:

```typescript
import { PageComponent } from '@ibm-wch-sdk/ng';
...
import { RouterModule, Routes } from '@angular/router';
...

const appRoutes: Routes = [
  {
    path: '',
    redirectTo: '/home',
    pathMatch: 'full'
  },
  {
    path: '**',
    component: PageComponent
  }
];

@NgModule({
    ...
  imports: [
    RouterModule.forRoot(appRoutes),
    ...
  ]
})
export class AppModule {
}
```

Start your local development server and enjoy:

```bash
ng serve
```

## Note

### Using the development version of the NPM registry

Add the file `.npmrc` to your application folder:

```text
registry = http://wats-repob.devlab.ibm.com
@request:registry=https://registry.npmjs.org/
@types:registry=https://registry.npmjs.org/
@angular:registry=https://registry.npmjs.org/
@ngtools:registry=https://registry.npmjs.org/
```

<a name="_20bdb6f8aeaf2e57d73cf0f8f7596ac3a05ab33429cf49a686e6738debcd4512"></a>
# Changelog

## Current

## Added

- support for registering a layout per layout mode

## Changes

- the life cycle observables `onOnInit` and `onOnDestroy` have replay semantics, i.e. they fire for each consumer that attaches to the hooks.

## Breaking Changes

- Removed the `ComponentOutput` events. Use the component events and subscribe to the component instance, instead.

## 6.0.69

## Breaking Changes

- Migrated to `rxjs 6.x`, all rx related code has to use the new imports
- Changes the SDK coordinates to use the `@ibm-wch-sdk/` namespace
- Removed `InjectorService` since dependency injection should NOT be done via `Injector` classes, directly

### Changes

- Layout components are now created synchronously, instead of asynchronously to prevent flickering

### Added

- Support for tree-shakeable services
- New `ContentResolver` service to support manual resolution of lazy loaded content
- Support for lazy loading using the `Router` component
- Support for dynamic pages
- Support for `group` elements
- Support for Angular 6

## 5.0.107 - 2018-02-28

## Breaking Changes

- Renamed `ContentWithLayout` to `ContentItemWithLayout`.

### Changes

- Split the module into the API module `ibm-wch-sdk-api` and the implementation module `ibm-wch-sdk-ng`. No breaking change expected, since the API is re-exported by the implementation module. I recommend however to reference the exports from the API module rather than those from the implementation module.

## 1.0.830 - 2018-01-16

### Added

- New `SearchService`
- New `luceneEscapeTerm` and `luceneEscapeKeyValue` methods to simplify the generation of search queries
- Support for `optionselection` elements

### Changed

- Updated HTTP transport layer from deprecated [Http](https://angular.io/api/http/Http) to [HttpClient](https://angular.io/api/common/http/HttpClient). Requires minimum angular dependency of `4.3.0`.

## 1.0.771 - 2018-01-16

### Added

- New `WchLoggerService`
- New `WchInfoService`
- Adding `describeSetter` in 'AbstractLifeCycleComponent'
- Basic support for new `[wchEditable]` directive
- Support for `levels` parameter in `wch-contentref`

### Fixed

- Compatibility to Angular 5

<a name="_28a07594e891c43454fa39c2c573639385bbf768c0897d05c3db61d89570388b"></a>

#  @ibm-wch-sdk/ng

## Index

### External modules

* ["components/content/content.component"](#_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511)
* ["components/contentquery/contentquery.component"](#_93f6b97f4607102d6f3bbacce22cf2e0ca8662d6aa4406b243bb7e0706019732)
* ["components/contentref/contentref.component"](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)
* ["components/default/default.component"](#_e1325aefe2a16738536ab4b0fa51dda3f14d71c94d451451370c84435a5906d6)
* ["components/page/page.component"](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* ["components/pageref/pageref.component"](#_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c)
* ["components/path/content.path.component"](#_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e)
* ["components/rendering/abstract-base.component"](#_d2f8cc6d2576983326e6074110c719555b34559b370fa672500b867df69dc64d)
* ["components/rendering/abstract-rendering.component"](#_ac54ba022492debe11f810df44e5b6c94152d29d7ffc2722cff7fd2cf20c3162)
* ["components/rendering/abstract.lifecycle.component"](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* ["components/site/site.component"](#_8565e40ce385f5912f89e5943ebb8c8e326f762be872a9bf2ec4b2c24c78bc0c)
* ["decorators/bootstrap/rendering.context.bootstrap.decorator"](#_65c7127c8aae3506ec1132d7e6432461fc1f7a5ec628b13d79920e3858d53c2a)
* ["decorators/bootstrap/rendering.context.bootstrap.directive"](#_8948ea36b56ab123d94936b1386f6ac14f94d1e28ee9def5efec035d20119e2b)
* ["decorators/bootstrap/site.bootstrap.decorator"](#_12ecb09806f876fdba17138f8515bb663c9939183381bb584fb6ec70d1a26954)
* ["decorators/bootstrap/site.bootstrap.directive"](#_a73ed924f1b42311d81cbb058ae092a396b2aeb2bbca001e2bb504ab145db021)
* ["decorators/layout/layout.decorator"](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* ["decorators/layout/layout.directive"](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)
* ["directives/contentref.directive"](#_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65)
* ["guards/root.page.guard"](#_bbe84b3cad7aca99fa17b914395d43d48b721e61c840dc93911b93fd4588c84f)
* ["index"](#_d53838c3180bb9a0e5494e993ceb8942c9866e807f2cfe89645b7e36005a0cf8)
* ["interfaces"](#_319992bd9642dee656c59d094557eacc8b390a49ab7f3a8c44a9ffb3e5a12015)
* ["interfaces/hub-context"](#_ba19199f9baea72e5d4361f38c1803c8df9fb16c0971bae9fbbb3dc0b816e094)
* ["internal/assert"](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* ["module"](#_1e2adf2f10b7c6d3f1400cef07b9d1abad4253d5b94cfa77442f7094d1ed888d)
* ["modules/components.module"](#_ac395f8820e08b5a7b39bcf985084d84c19fe9e5a08bfaafcbc3a839960ddbbe)
* ["modules/services.module"](#_592bc31cea7e41c9a14b09ed740079f56fee2ee83bc91d3b963d6df2758cc23b)
* ["routing/default.routes"](#_41adc5704a54b446a326fb3718a6c4058987fc7ecb099e7ab319dd642a76c692)
* ["services/bootstrap/bootstrap.service"](#_238690f5b301836e922f4faffb225e6c2ba94c7a0bbe6e26a538d1844bee357a)
* ["services/components/components.service"](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* ["services/config/application.config"](#_a1f893f8f56b1cae17b5309c8f5601c11ecf0596382288255a336380c542f9c6)
* ["services/config/application.config.service"](#_477099d10fa76939ef984a7bef2a78677e3493a0f37f36694f63522553dac823)
* ["services/config/empty.application.config"](#_ef62cb61115b348c62d6dac898b969dd81c5dec64a8d9eebeecfab6dc3bba578)
* ["services/dependency/dependency.service"](#_67b62b5e3d9425c72d2712811b308d96ad30aaee92118beae53b51ecacd4b4c0)
* ["services/dependency/message"](#_85b5ae34a181e1ad4894e1e8dad42151b0c5d5d85b79f69b494b79af45172eb5)
* ["services/dependency/message/sdk.navigate.by.path.message"](#_4fd37deef1369440981c5bea10be009c10ed3c1af8bdfcaa9a6ba7f2ca527510)
* ["services/dependency/message/sdk.refresh.message"](#_d7de4cae77840961d9b97b0d122cca3903b74ad708939a072cc0b49e8b45f0f3)
* ["services/dependency/message/sdk.set.mode.message"](#_bc66f3d00a388469ee53e6da7216c2f2e660edfbda4a4f7be4e01993954e8fc3)
* ["services/dependency/message/sdk.subscribe.active.route.message"](#_67ac5f1008dc1cfd24df6db181b04afb58fb521497d59b8a624c2569f8ce0298)
* ["services/dependency/message/sdk.subscribe.message"](#_ed32045b8a1335725100c8f3211cce009cf23cd15c0d8bb97f32e798c9b3ac5a)
* ["services/dependency/message/sdk.subscribe.mode.message"](#_7605dc7b94d2d1ba7a21306eb6f45513c1d90ba160b198b28305345a9fd6038e)
* ["services/dependency/message/sdk.subscribe.route.message"](#_2990dd0a23614c98f0573d749d8eb1dcf18fe37a52122b3035eba1b71dcfc94e)
* ["services/dependency/sdk/jsonp/jsonp"](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)
* ["services/dependency/sdk/router/router"](#_ea2216930bca9af40708550f041b7546580a5f4f39fa2f17931fc2203a7b908b)
* ["services/dependency/sdk/sdk"](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3)
* ["services/dependency/sdk/search/search"](#_ab06c130522fcf9e96396d805d12068c1b5eb0ee4ff6c16dd5570e350b477eeb)
* ["services/dependency/sdk/version"](#_05f06bb3482059fcddd8ddb706c4fa907d649be0b4277b119e5ba14dcf163b5c)
* ["services/http/http.service"](#_b76be65ae3d6fd4e3de5dc14af9402d197c151df703edbd4fa1828380df48646)
* ["services/http/http.service.on.http.client"](#_bbf1a72512c3958c1ae1905b6b699afd6151de703126d3d655476f6b39dfa2ec)
* ["services/http/http.service.on.jsonp"](#_3ae0484b92fc276435e155eb1c95de47f60a2f6a1f729dd7c1866c5f58276d7c)
* ["services/hub-info/hub-info.service"](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* ["services/hub-info/tokens"](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* ["services/info/wch.info.service"](#_f2b93867d42dd81767ca63a2055cff0a2f8509b7557d37d4b582ccd053787032)
* ["services/logger/logger.service"](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* ["services/logger/wch.logger.service"](#_988dd73902ec42cfc20af57b8f7e9191cef045d01d9226877d3e695a706547ae)
* ["services/mappings/mappings.service"](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* ["services/markup/markup.service"](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a)
* ["services/page/active.page.service"](#_a4ea53f2c7b65b21b7e2184221f2b3862d8139ba9cc65562680b10b9685722a1)
* ["services/refresh/refresh.service"](#_2e92a7ed3b599e9a511bdde18efeaefbcfb4b67844625ca60124819e59a4c59b)
* ["services/resolver/content.resolver.service"](#_e18f458b7bd5da7c281de34f0a232c48f4f82b76b9b8aa0af88a8139d2c52473)
* ["services/search/search.service"](#_96f064481d6c8e3eee7e3b82e585d2928eed2ebbfaaf7aacaf7a3688df50583b)
* ["services/storage/storage.service"](#_8aa0e9fe6b6a8ebc3a606d4a650780769b65514b31fbc880342b606b0d885d4d)
* ["services/url/urls.service"](#_605c29efa87fd68948f00fce0e27c4e291723e61a88461e23c1c53f3bd4796b7)
* ["services/wch.service"](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* ["services/zone/zone.service"](#_e8355839cf5efcaa6787da7312ec826f5b593d08ace85004c634a7948269742e)
* ["utils/bootstrap.utils"](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* ["utils/component.mapping.utils"](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)
* ["utils/component.utils"](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* ["utils/http.service"](#_fe1be40f7fb2503f05ea3ecfe8cca09d306aa65f541366620c18f6e7ff8793bf)
* ["utils/http.service.on.http"](#_e7f491cc047baffff178366380246d21aa1c50b6bf8cd504d62c25fb7ecce81f)
* ["utils/http.service.on.http.client"](#_ad90d4ca4c4f319fd22e1ba3241a2fc926d5586c7264e4f924a9ba4029e7ddf7)
* ["utils/http.service.on.jsonp"](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* ["utils/js.utils"](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* ["utils/lazy.injector"](#_74dc82b9997334b36b3fcc2828a1e99df54a0d23f23ceb4d1fb2085892a31e2b)
* ["utils/markup.utils"](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)
* ["utils/page.utils"](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)
* ["utils/rx.utils"](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)
* ["utils/site.utils"](#_f5c457d2581533c611d6f7a6ce1d921671e24c22316118e2022fd6ea1499dbe3)
* ["utils/symbol"](#_42cf5e1d3292b1a518d2263861df4b0888a67177c0759555bfe58d171da7108c)
* ["utils/url.utils"](#_964689b9f979ecd61600392e64d4965329b594c0c1dd8b6aee491352e21c82fc)
* ["utils/url.utils.ifaces"](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)
* ["utils/urls"](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)
* ["utils/wch.utils"](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* ["version"](#_99dec4bde79405c04fb886c872bdc6dafdcd0ba313ac8208f7d4e803dac28909)

---


<a name="_4f5f0d570547cc32a6c26a19831659ff187906f3e173dec4cc7caa8b01b03375"></a>
# WchNgModule

The main SDK module exposes the [components](#_fa2f90834dc7bcb7615fc33319f9ed6a63f8c69fa277bfa7f08386c0beb5fb31) and [services](#_a4fb5ccb8be0067409dbd71e1f1701b0d371666d4e24d7ac516fa948efe2baa4) to be used by the application. Have a look at [development stories](#_df2af39a9ce6ae60564b5d3bf4a712b0f99fb73d05d18e7406d16cc900ddfa1f) for an explanation of usecases.

## Usage

```typescript
imports: [
    ...
    WchNgModule.forRoot({ apiUrl: new URL(apiUrl), deliveryUrl: new URL(deliveryUrl) })
    ...
]
```

Add the module to your main application module using the `forRoot` accessor method. The context passed to the accessor defines the [entry URLs](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027) into WCH.

## Tipps

For your convenience you can also keep the URLs as part of the `environment` properties. In this case pass the environment directly to the `forRoot` method and declare the urls as part of the environment object, e.g.

```typescript
import { environment } from '../environments/environment';
...
  imports: [
    ...
    WchNgModule.forRoot(environment)
  ],
```

with an environment properties file like this:

```typescript
export const environment = {
  production: false,
  apiUrl: new URL(apiUrl),
  deliveryUrl: new URL(deliveryUrl)
};
```

## Developing modules based on the SDK

When developing modules that use the SDK, make sure to import the [WchNgComponentsModule](#_575fbdac6e637d569d4bfacce517e04a7e73bf62dfb055457e96d0899919b8e3) to have access to the components and directives exposed by the SDK.

<a name="_79e64e744e1a60fe26344df9abd530ef32849774b9c22887da485e3d35a9e9d6"></a>
# LayoutDecorator
The layout decorator allow to assign a layout name to a component.

## Usage
```typescript
@LayoutComponent({
  selector: 'one-column'
})
@Component({
  selector: 'app-one-column',
  ...
})
export class OneColumnComponent extends AbstractRenderingComponent implements OnInit, OnDestroy {

```

or

```typescript
@LayoutComponent()
@Component({
  selector: 'app-one-column',
  ...
})
export class OneColumnComponent extends AbstractRenderingComponent implements OnInit, OnDestroy {

```

## Properties
* `selector`: the name of the layout. This matches the controller field in the layout descriptor. If this property is missing, then the selector of the component will be used as a fallback. The type of this field can be `string` or `string[]`. In the array form, all selectors in the array will be associated with the component.
* `mappingId?`: the optional mapping ID defines a fallback layout mapping, if no layout could be determined via WCH configuration. The ID carries either a content ID, a type ID or a type name.
* `layoutMode?`: the optional layout mode defines the mode that the fallback mapping applies to.

## Note
You can leave out the selector property on the `LayoutComponent` decorator. In this case the selector of the `Component` will be used as the name of the layout.

# LayoutMappingDecorator
The layout mapping decorator allows to register fallback layout mappings as decorations of a class.

## Parameters
* `id`: defines a fallback layout mapping, if no layout could be determined via WCH configuration. The ID carries either a content ID, a type ID or a type name.
* `selector`: the selector of the layout, either a string or a type. If the selector is missing, we use the attached class
* `layoutMode?`: the optional layout mode defines the mode that the fallback mapping applies to.

## Usage
The following example maps an ID of a content item to the `HeroGridComponent` layout in the default layout mode:

```typescript
  @LayoutMapping('e2ab99d1-9f9c-49a3-a80e-ec45c7748820', HeroGridComponent)
  class ...
```

# RenderingContextBinding
The context binding allows to attach a property of the rendering context to an instance variable of the component. This will often improve the readability of the template.

## Usage
```typescript
@LayoutComponent(...)
@Component(...)
export class OneColumnComponent extends AbstractRenderingComponent {

  @RenderingContextBinding('elements.text.value', 'defaultValue')
  textValue: string;
}
```

## Properties
* `selector`: the selector is a simple dot notation expresssion for the desired property, relative to the rendering context. Note that this does NOT support array expressions (yet). Optionally you may also pass a function that takes a rendering
context as input and returns the desired value.
* `default`: an optional default value that will be used if the rendering context does not contain the element

## Note
The binding assumes the existence of a `onRenderingContext` observable on the class. This is automatically the case if the class inherits from [AbstractRenderingComponent](#_c67a54fbe639545fc8ecc33a206087da27aab36585eca9f5671d52da5484a234).


<a name="_c67a54fbe639545fc8ecc33a206087da27aab36585eca9f5671d52da5484a234"></a>
# AbstractRenderingComponent

Component that can be used as a super class for custom components such as layouts. The component exposes a setter for the [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) in a format that is expected by the [ContentrefComponent](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce).

## Attributes

* `renderingContext`: the current rendering context
* `layoutMode`: the current layout mode

## Methods

* `trackByComponentId`: method to be used with the [*ngFor](https://angular.io/api/common/NgForOf) directive when iterating over [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) references. The method returns the ID of the rendering context, allowing Angular to correlate updates of the list.

## Events

* `onRenderingContext`: fires when the rendering context changes
* `onLayoutMode`: fires when the layout mode changes

Both the `onRenderingContext` and the `onLayoutMode` [observables](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html) will complete when the component is destroyed (i.e. in the course of processing the [ngOnDestroy](https://angular.io/guide/lifecycle-hooks#ondestroy) method). This implies that subscribers attached to theses observables do NOT need to unsubscribe explicitly, if they wish their subscription to last for the duration of the lifetime of the component (see section [Subscribing and Unsubscribing](http://reactivex.io/documentation/contract.html) in the observable contract).

# AbstractLifeCycleComponent

Component that offers [observables](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html) that will be fired when one of the lifecycle methods is invoked. This can be used as an alternative to override the respective method on the class. The mechanism is useful because:

* the observables can already be accessed in the constructor of the components and can reference variables in the private closure of the constructor
* it is a common pattern to setup observable chains in the constructor and to subscribe to them to keep application state up-to-date. These subscriptions however must be unsubscribed on in the `ngOnDestroy` method to avoid memory leaks. Using a life cycle callback this can be easily done inside the constructor.

## Methods

* `ngXXX`: the original life cycle method exposed by [Angular](https://angular.io/guide/lifecycle-hooks). Subclasses that want to override these methods MUST call the super method.
* `onXXX`: getter for an [observable](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html) for this lifecycle method.
* `unsubscribeOnDestroy(subscription)`: registers a subscription to be unsubscribed for in `ngOnDestroy`
* `safeSubscribe(observable, handler)`: subscribes to an [observable](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html) and registers the resulting subscription with `ngOnDestroy`. This is the most convenient way to handle subscriptions.

<a name="_cd96c202ef926a9a7797f271485fb9854430c1b72b0204252b468c1959ffadc7"></a>
# PageComponent

The page component resolves the current route to the component (or page) that is associated to this route in WCH. It can therefore be considered a proxy component that decouples the application at build time from the runtime artifacts.

## Usage

The component does not require any specific configuration, it attaches itself to the routing logic via dependency injection.

Usage in HTML:

```html
<wch-page></wch-page>
```

Usage in the router config:

```typescript
const appRoutes: Routes = [
  {
    path: '**',
    component: PageComponent
  }
];
```

## Attributes

* `layoutMode`: optionally pass the layout mode to be used when rendering the page. If not specified, the system uses the default mode.

## Events

* `onRenderingContext`: the [rendering context](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) for the page as soon as it has been loaded
* `onLayoutMode`: the layout mode used to render this page.

## Error handling

If the page cannot be decoded, the system will look for a component mapped to the [PAGE_NOT_FOUND_LAYOUT](#_32a765b3b5fb30276418839f2cae827a486d81fdd63b1bc89039ec6d4d2a9caf) layout and instantiates this with an empty rendering context.

## WCH Dependency

The page component uses the `URL Slug` managed in WCH with each page to decode the targeted page. The URL slugs form a hierarchical namespace that matches the URL namespace of the SPA. The component uses the `url` property of the [ActivatedRoute](https://angular.io/api/router/ActivatedRoute). This property represents the sequence of path segments that will be matched against the defined URL slugs. The component will NOT interpret the parent router, so the SPA can decide to mount the WCH namespace at any location within its own namespace.
<a name="_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/content/content.component"](#_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511)

# External module: "components/content/content.component"

## Index

### Classes

* [ContentComponent](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

### Type aliases

* [ComponentState](#_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511)

### Variables

* [LOGGER](#_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511)

---

## Type aliases

<a id="componentstate"></a>

###  ComponentState

**Ƭ ComponentState**: *[`RenderingContext`, `string`]*

*Defined in components/content/content.component.ts:30*

Combines the active pieces of the state into one single object

___

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ContentComponent"* = "ContentComponent"

*Defined in components/content/content.component.ts:25*

___


<a name="_93f6b97f4607102d6f3bbacce22cf2e0ca8662d6aa4406b243bb7e0706019732"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/contentquery/contentquery.component"](#_93f6b97f4607102d6f3bbacce22cf2e0ca8662d6aa4406b243bb7e0706019732)

# External module: "components/contentquery/contentquery.component"

## Index

### Classes

* [ContentQueryComponent](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

### Variables

* [LOGGER](#_93f6b97f4607102d6f3bbacce22cf2e0ca8662d6aa4406b243bb7e0706019732)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ContentQueryComponent"* = "ContentQueryComponent"

*Defined in components/contentquery/contentquery.component.ts:42*

___


<a name="_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/contentref/contentref.component"](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)

# External module: "components/contentref/contentref.component"

## Index

### Classes

* [ContentrefComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

### Type aliases

* [ComponentState](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)

### Variables

* [LOGGER](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)

### Functions

* [getType](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)

### Object literals

* [LAYOUT_NOT_FOUND_LAYOUT](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)
* [PAGE_NOT_FOUND_LAYOUT](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)

---

## Type aliases

<a id="componentstate"></a>

###  ComponentState

**Ƭ ComponentState**: *[`ComponentTypeRef`<`any`>, `RenderingContext`, `string`]*

*Defined in components/contentref/contentref.component.ts:80*

Combines the active pieces of the state into one single object

___

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ContentrefComponent"* = "ContentrefComponent"

*Defined in components/contentref/contentref.component.ts:27*

___

## Functions

<a id="gettype"></a>

###  getType

▸ **getType**(aId: *`string`*, aLayoutMode: *`string` \| `undefined`*, aRenderingContext: *`RenderingContext`*, aCmp: *[ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)*, aMapping: *[LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)*): `Observable`<`ComponentTypeRef`<`any`>>

*Defined in components/contentref/contentref.component.ts:48*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aId | `string` |
| aLayoutMode | `string` \| `undefined` |
| aRenderingContext | `RenderingContext` |
| aCmp | [ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5) |
| aMapping | [LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5) |

**Returns:** `Observable`<`ComponentTypeRef`<`any`>>

___

## Object literals

<a id="layout_not_found_layout"></a>

### `<Const>` LAYOUT_NOT_FOUND_LAYOUT

**LAYOUT_NOT_FOUND_LAYOUT**: *`object`*

*Defined in components/contentref/contentref.component.ts:33*

<a id="layout_not_found_layout.template"></a>

####  template

**● template**: *`string`* =  ComponentsService.DEFAULT_LAYOUT

*Defined in components/contentref/contentref.component.ts:35*

___
<a id="layout_not_found_layout.templatetype"></a>

####  templateType

**● templateType**: *`string`* =  LAYOUT_TYPE_ANGULAR

*Defined in components/contentref/contentref.component.ts:34*

___

___
<a id="page_not_found_layout"></a>

### `<Const>` PAGE_NOT_FOUND_LAYOUT

**PAGE_NOT_FOUND_LAYOUT**: *`object`*

*Defined in components/contentref/contentref.component.ts:29*

<a id="page_not_found_layout.template-1"></a>

####  template

**● template**: *`string`* =  ComponentsService.PAGE_NOT_FOUND_LAYOUT

*Defined in components/contentref/contentref.component.ts:31*

___
<a id="page_not_found_layout.templatetype-1"></a>

####  templateType

**● templateType**: *`string`* =  LAYOUT_TYPE_ANGULAR

*Defined in components/contentref/contentref.component.ts:30*

___

___


<a name="_e1325aefe2a16738536ab4b0fa51dda3f14d71c94d451451370c84435a5906d6"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/default/default.component"](#_e1325aefe2a16738536ab4b0fa51dda3f14d71c94d451451370c84435a5906d6)

# External module: "components/default/default.component"

## Index

### Classes

* [DefaultComponent](#_41403aea3ab9a143f1db8e4996535c87daa0e3b48ebf672296a701eeccc833a9)

---


<a name="_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/page/page.component"](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)

# External module: "components/page/page.component"

## Index

### Classes

* [PageComponent](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

### Type aliases

* [ComponentState](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)

### Variables

* [LOGGER](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_EMPTY_VALUE](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_META_NAME_DESCRIPTION](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_META_NAME_ID](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)

### Functions

* [_boxValue](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_getDescription](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_getTitle](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_setMetaTag](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_setTitleTag](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* [_updateMetaData](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)

---

## Type aliases

<a id="componentstate"></a>

###  ComponentState

**Ƭ ComponentState**: *[`RenderingContext`, `string`]*

*Defined in components/page/page.component.ts:139*

Combines the active pieces of the state into one single object

___

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"PageComponent"* = "PageComponent"

*Defined in components/page/page.component.ts:23*

___
<a id="_empty_value"></a>

### `<Const>` _EMPTY_VALUE

**● _EMPTY_VALUE**: *`""`* = ""

*Defined in components/page/page.component.ts:27*

___
<a id="_meta_name_description"></a>

### `<Const>` _META_NAME_DESCRIPTION

**● _META_NAME_DESCRIPTION**: *"description"* = "description"

*Defined in components/page/page.component.ts:26*

___
<a id="_meta_name_id"></a>

### `<Const>` _META_NAME_ID

**● _META_NAME_ID**: *"id"* = "id"

*Defined in components/page/page.component.ts:25*

___

## Functions

<a id="_boxvalue"></a>

###  _boxValue

▸ **_boxValue**(aValue?: *`string`*): `string`

*Defined in components/page/page.component.ts:34*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aValue | `string` |

**Returns:** `string`

___
<a id="_getdescription"></a>

###  _getDescription

▸ **_getDescription**(aSitePage: *`SitePage`*, aRenderingContext: *`RenderingContext`*): `string`

*Defined in components/page/page.component.ts:92*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSitePage | `SitePage` |
| aRenderingContext | `RenderingContext` |

**Returns:** `string`

___
<a id="_gettitle"></a>

###  _getTitle

▸ **_getTitle**(aSitePage: *`SitePage`*, aRenderingContext: *`RenderingContext`*): `string`

*Defined in components/page/page.component.ts:69*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSitePage | `SitePage` |
| aRenderingContext | `RenderingContext` |

**Returns:** `string`

___
<a id="_setmetatag"></a>

###  _setMetaTag

▸ **_setMetaTag**(aMetaService: *`Meta`*, aId: *`string`*, aValue?: *`string`*): `void`

*Defined in components/page/page.component.ts:45*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aMetaService | `Meta` |
| aId | `string` |
| `Optional` aValue | `string` |

**Returns:** `void`

___
<a id="_settitletag"></a>

###  _setTitleTag

▸ **_setTitleTag**(aTitle: *`Title`*, aValue?: *`string`*): `void`

*Defined in components/page/page.component.ts:56*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aTitle | `Title` |
| `Optional` aValue | `string` |

**Returns:** `void`

___
<a id="_updatemetadata"></a>

###  _updateMetaData

▸ **_updateMetaData**(aContext: *`RenderingContext`*, aTitleService: *`Title`*, aMetaService: *`Meta`*): `void`

*Defined in components/page/page.component.ts:110*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aContext | `RenderingContext` |
| aTitleService | `Title` |
| aMetaService | `Meta` |

**Returns:** `void`

___


<a name="_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/pageref/pageref.component"](#_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c)

# External module: "components/pageref/pageref.component"

## Index

### Classes

* [PagerefComponent](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

### Type aliases

* [ComponentState](#_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c)

### Variables

* [LOGGER](#_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c)

---

## Type aliases

<a id="componentstate"></a>

###  ComponentState

**Ƭ ComponentState**: *[`RenderingContext`, `string`]*

*Defined in components/pageref/pageref.component.ts:28*

Combines the active pieces of the state into one single object

___

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"PagerefComponent"* = "PagerefComponent"

*Defined in components/pageref/pageref.component.ts:23*

___


<a name="_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/path/content.path.component"](#_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e)

# External module: "components/path/content.path.component"

## Index

### Classes

* [ContentPathComponent](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

### Type aliases

* [ComponentState](#_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e)

### Variables

* [LOGGER](#_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e)

---

## Type aliases

<a id="componentstate"></a>

###  ComponentState

**Ƭ ComponentState**: *[`RenderingContext`, `string`]*

*Defined in components/path/content.path.component.ts:20*

Combines the active pieces of the state into one single object

___

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ContentPathComponent"* = "ContentPathComponent"

*Defined in components/path/content.path.component.ts:15*

___


<a name="_d2f8cc6d2576983326e6074110c719555b34559b370fa672500b867df69dc64d"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/rendering/abstract-base.component"](#_d2f8cc6d2576983326e6074110c719555b34559b370fa672500b867df69dc64d)

# External module: "components/rendering/abstract-base.component"

## Index

### Classes

* [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

### Variables

* [ID](#_d2f8cc6d2576983326e6074110c719555b34559b370fa672500b867df69dc64d)
* [LOGGER](#_d2f8cc6d2576983326e6074110c719555b34559b370fa672500b867df69dc64d)

---

## Variables

<a id="id"></a>

### `<Let>` ID

**● ID**: *`number`* = 0

*Defined in components/rendering/abstract-base.component.ts:21*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"AbstractBaseComponent"* = "AbstractBaseComponent"

*Defined in components/rendering/abstract-base.component.ts:19*

___


<a name="_ac54ba022492debe11f810df44e5b6c94152d29d7ffc2722cff7fd2cf20c3162"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/rendering/abstract-rendering.component"](#_ac54ba022492debe11f810df44e5b6c94152d29d7ffc2722cff7fd2cf20c3162)

# External module: "components/rendering/abstract-rendering.component"

## Index

### Classes

* [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

### Variables

* [ID](#_ac54ba022492debe11f810df44e5b6c94152d29d7ffc2722cff7fd2cf20c3162)
* [LOGGER](#_ac54ba022492debe11f810df44e5b6c94152d29d7ffc2722cff7fd2cf20c3162)

---

## Variables

<a id="id"></a>

### `<Let>` ID

**● ID**: *`number`* = 0

*Defined in components/rendering/abstract-rendering.component.ts:25*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"AbstractRenderingComponent"* = "AbstractRenderingComponent"

*Defined in components/rendering/abstract-rendering.component.ts:23*

___


<a name="_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/rendering/abstract.lifecycle.component"](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)

# External module: "components/rendering/abstract.lifecycle.component"

## Index

### Classes

* [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

### Type aliases

* [Registry](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)

### Variables

* [FIELD_CALLBACKS](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [FIELD_OBSERVABLE](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_AFTERCONTENTCHECKED](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_AFTERCONTENTINIT](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_AFTERVIEWCHECKED](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_AFTERVIEWINIT](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_CHANGES](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_DESTROY](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_DOCHECK](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [HOOK_INIT](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [KEY_REGISTRY](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)

### Functions

* [_addHook](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [_assertCallbacks](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [_assertHook](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [_createObservable](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [_getObservable](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [_invokeHooks](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [_removeRegistry](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [createGetter](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* [createSetter](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)

---

## Type aliases

<a id="registry"></a>

###  Registry

**Ƭ Registry**: *`any`[][]*

*Defined in components/rendering/abstract.lifecycle.component.ts:49*

___

## Variables

<a id="field_callbacks"></a>

### `<Const>` FIELD_CALLBACKS

**● FIELD_CALLBACKS**: *`1`* = 1

*Defined in components/rendering/abstract.lifecycle.component.ts:46*

___
<a id="field_observable"></a>

### `<Const>` FIELD_OBSERVABLE

**● FIELD_OBSERVABLE**: *`2`* = 2

*Defined in components/rendering/abstract.lifecycle.component.ts:47*

___
<a id="hook_aftercontentchecked"></a>

### `<Const>` HOOK_AFTERCONTENTCHECKED

**● HOOK_AFTERCONTENTCHECKED**: *`2`* = 2

*Defined in components/rendering/abstract.lifecycle.component.ts:39*

___
<a id="hook_aftercontentinit"></a>

### `<Const>` HOOK_AFTERCONTENTINIT

**● HOOK_AFTERCONTENTINIT**: *`3`* = 3

*Defined in components/rendering/abstract.lifecycle.component.ts:40*

___
<a id="hook_afterviewchecked"></a>

### `<Const>` HOOK_AFTERVIEWCHECKED

**● HOOK_AFTERVIEWCHECKED**: *`0`* = 0

*Defined in components/rendering/abstract.lifecycle.component.ts:37*

Enumeration of the possible hooks

___
<a id="hook_afterviewinit"></a>

### `<Const>` HOOK_AFTERVIEWINIT

**● HOOK_AFTERVIEWINIT**: *`1`* = 1

*Defined in components/rendering/abstract.lifecycle.component.ts:38*

___
<a id="hook_changes"></a>

### `<Const>` HOOK_CHANGES

**● HOOK_CHANGES**: *`6`* = 6

*Defined in components/rendering/abstract.lifecycle.component.ts:43*

___
<a id="hook_destroy"></a>

### `<Const>` HOOK_DESTROY

**● HOOK_DESTROY**: *`7`* = 7

*Defined in components/rendering/abstract.lifecycle.component.ts:44*

___
<a id="hook_docheck"></a>

### `<Const>` HOOK_DOCHECK

**● HOOK_DOCHECK**: *`4`* = 4

*Defined in components/rendering/abstract.lifecycle.component.ts:41*

___
<a id="hook_init"></a>

### `<Const>` HOOK_INIT

**● HOOK_INIT**: *`5`* = 5

*Defined in components/rendering/abstract.lifecycle.component.ts:42*

___
<a id="key_registry"></a>

### `<Const>` KEY_REGISTRY

**● KEY_REGISTRY**: *`string` \| `symbol`* =  createSymbol()

*Defined in components/rendering/abstract.lifecycle.component.ts:52*

___

## Functions

<a id="_addhook"></a>

###  _addHook

▸ **_addHook**(aHookIdentifier: *`number`*, aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*, aHook: *`Function`*): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:154*

Registers a life cycle hook with the component

**Parameters:**

| Name | Type |
| ------ | ------ |
| aHookIdentifier | `number` |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |
| aHook | `Function` |

**Returns:** `void`

___
<a id="_assertcallbacks"></a>

###  _assertCallbacks

▸ **_assertCallbacks**(aHook: *`any`[]*): `Function`[]

*Defined in components/rendering/abstract.lifecycle.component.ts:84*

Makes sure we have a callbacks array defined

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHook | `any`[] |  the hook structure |

**Returns:** `Function`[]
the callback field

___
<a id="_asserthook"></a>

###  _assertHook

▸ **_assertHook**(aHookIdentifier: *`number`*, aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*): `any`[]

*Defined in components/rendering/abstract.lifecycle.component.ts:70*

Makes sure we have a hook data structure for the identifier

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHookIdentifier | `number` |  the hook identifier |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |  the instance |

**Returns:** `any`[]
the hook structure

___
<a id="_createobservable"></a>

###  _createObservable

▸ **_createObservable**(aHookIdentifier: *`number`*, aHook: *`any`[]*, aShared: *`boolean`*, aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*): `Observable`<`any`>

*Defined in components/rendering/abstract.lifecycle.component.ts:97*

Construct the desired observable

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHookIdentifier | `number` |  the hook |
| aHook | `any`[] |
| aShared | `boolean` |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |  the life cycle component |

**Returns:** `Observable`<`any`>
the observable

___
<a id="_getobservable"></a>

###  _getObservable

▸ **_getObservable**(aHookIdentifier: *`number`*, aShared: *`boolean`*, aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*): `Observable`<`any`>

*Defined in components/rendering/abstract.lifecycle.component.ts:132*

Registers an observable for a hook

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHookIdentifier | `number` |  the identifier for the hook |
| aShared | `boolean` |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |  the instance of the component |

**Returns:** `Observable`<`any`>
the observable

___
<a id="_invokehooks"></a>

###  _invokeHooks

▸ **_invokeHooks**(aHookIdentifier: *`number`*, aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*, aArgs: *`IArguments`*): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:171*

Invokes the lifecycle hooks for the component

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHookIdentifier | `number` |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |  the this pointer |
| aArgs | `IArguments` |  the arguments |

**Returns:** `void`

___
<a id="_removeregistry"></a>

###  _removeRegistry

▸ **_removeRegistry**(aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:59*

Clears the registry from the component

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |  the instance |

**Returns:** `void`

___
<a id="creategetter"></a>

###  createGetter

▸ **createGetter**<`T`>(aObservable: *`Observable`<`T`>*, aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*, aInitial?: *`T`*): `PropertyDescriptor`

*Defined in components/rendering/abstract.lifecycle.component.ts:451*

Constructs a getter that subscribes to a value

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Observable`<`T`> |  the observable |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |  the component |
| `Optional` aInitial | `T` |  the optional initial value |

**Returns:** `PropertyDescriptor`
the descriptor

___
<a id="createsetter"></a>

###  createSetter

▸ **createSetter**<`T`>(aSubject: *`Subject`<`T`>*, aThis: *[AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*): `PropertyDescriptor`

*Defined in components/rendering/abstract.lifecycle.component.ts:432*

Constructs a setter that is unregistered automatically in onDestroy

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |
| aThis | [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1) |  the component |

**Returns:** `PropertyDescriptor`
the descriptor

___


<a name="_8565e40ce385f5912f89e5943ebb8c8e326f762be872a9bf2ec4b2c24c78bc0c"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/site/site.component"](#_8565e40ce385f5912f89e5943ebb8c8e326f762be872a9bf2ec4b2c24c78bc0c)

# External module: "components/site/site.component"

## Index

### Classes

* [SiteComponent](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

### Variables

* [LOGGER](#_8565e40ce385f5912f89e5943ebb8c8e326f762be872a9bf2ec4b2c24c78bc0c)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SiteComponent"* = "SiteComponent"

*Defined in components/site/site.component.ts:11*

___


<a name="_65c7127c8aae3506ec1132d7e6432461fc1f7a5ec628b13d79920e3858d53c2a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/bootstrap/rendering.context.bootstrap.decorator"](#_65c7127c8aae3506ec1132d7e6432461fc1f7a5ec628b13d79920e3858d53c2a)

# External module: "decorators/bootstrap/rendering.context.bootstrap.decorator"

## Index

### Functions

* [ContentWithLayoutBootstrap](#_65c7127c8aae3506ec1132d7e6432461fc1f7a5ec628b13d79920e3858d53c2a)

---

## Functions

<a id="contentwithlayoutbootstrap"></a>

###  ContentWithLayoutBootstrap

▸ **ContentWithLayoutBootstrap**(aDirective?: *[ContentWithLayoutBootstrapDirective](#_cfad2078216b60934ba047e7756310ce96a8b277734bcce56f01eb179896292e)*): `function`

*Defined in decorators/bootstrap/rendering.context.bootstrap.decorator.ts:11*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aDirective | [ContentWithLayoutBootstrapDirective](#_cfad2078216b60934ba047e7756310ce96a8b277734bcce56f01eb179896292e) |

**Returns:** `function`

___


<a name="_8948ea36b56ab123d94936b1386f6ac14f94d1e28ee9def5efec035d20119e2b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/bootstrap/rendering.context.bootstrap.directive"](#_8948ea36b56ab123d94936b1386f6ac14f94d1e28ee9def5efec035d20119e2b)

# External module: "decorators/bootstrap/rendering.context.bootstrap.directive"

## Index

### Interfaces

* [ContentWithLayoutBootstrapDirective](#_cfad2078216b60934ba047e7756310ce96a8b277734bcce56f01eb179896292e)

---


<a name="_12ecb09806f876fdba17138f8515bb663c9939183381bb584fb6ec70d1a26954"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/bootstrap/site.bootstrap.decorator"](#_12ecb09806f876fdba17138f8515bb663c9939183381bb584fb6ec70d1a26954)

# External module: "decorators/bootstrap/site.bootstrap.decorator"

## Index

### Variables

* [LOGGER](#_12ecb09806f876fdba17138f8515bb663c9939183381bb584fb6ec70d1a26954)

### Functions

* [SiteBootstrap](#_12ecb09806f876fdba17138f8515bb663c9939183381bb584fb6ec70d1a26954)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SiteBootstrap"* = "SiteBootstrap"

*Defined in decorators/bootstrap/site.bootstrap.decorator.ts:8*

___

## Functions

<a id="sitebootstrap"></a>

###  SiteBootstrap

▸ **SiteBootstrap**(aDirective?: *[SiteBootstrapDirective](#_f9744ec96d961616bfc31e49e7e758aa6175c00b0128b3ae319f3787e233561b)*): `function`

*Defined in decorators/bootstrap/site.bootstrap.decorator.ts:15*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aDirective | [SiteBootstrapDirective](#_f9744ec96d961616bfc31e49e7e758aa6175c00b0128b3ae319f3787e233561b) |

**Returns:** `function`

___


<a name="_a73ed924f1b42311d81cbb058ae092a396b2aeb2bbca001e2bb504ab145db021"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/bootstrap/site.bootstrap.directive"](#_a73ed924f1b42311d81cbb058ae092a396b2aeb2bbca001e2bb504ab145db021)

# External module: "decorators/bootstrap/site.bootstrap.directive"

## Index

### Interfaces

* [SiteBootstrapDirective](#_f9744ec96d961616bfc31e49e7e758aa6175c00b0128b3ae319f3787e233561b)

---


<a name="_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/layout/layout.decorator"](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)

# External module: "decorators/layout/layout.decorator"

## Index

### Interfaces

* [Binding](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)

### Type aliases

* [ExpressionGetter](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [Subscriptions](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)

### Variables

* [KEY_EXPRESSION](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [KEY_OBSERVABLE_PREFIX](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [KEY_ON_DESTROY](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [KEY_SUBSCRIPTIONS](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [LOGGER](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [UNDEFINED_RENDERING_CONTEXT_SUBJECT](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_BehaviorSubject](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_SYMBOLS](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_expressionCache](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)

### Functions

* [LayoutComponent](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [LayoutMapping](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [RenderingContextBinding](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_assertBinding](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_baseExpressionFromObservableExpression](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_getExpressionFromDescriptor](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_getExpressionFromPrototype](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_getExpressionGetter](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_getObservableExpression](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_getOnRenderingContext](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_getResolvedExpression](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_getSymbol](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_isObservableExpression](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_isStringOrArray](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_isUpperCase](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_observableExpressionFromBaseExpression](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_parseExpression](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_registerExpression](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_registerRenderingContextDirective](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* [_registerSubscription](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)

---

## Type aliases

<a id="expressiongetter"></a>

###  ExpressionGetter

**Ƭ ExpressionGetter**: *`function`*

*Defined in decorators/layout/layout.decorator.ts:355*

#### Type declaration
▸(): `string`

**Returns:** `string`

___
<a id="subscriptions"></a>

###  Subscriptions

**Ƭ Subscriptions**: *`Subscription`[]*

*Defined in decorators/layout/layout.decorator.ts:54*

___

## Variables

<a id="key_expression"></a>

### `<Const>` KEY_EXPRESSION

**● KEY_EXPRESSION**: *"45b01348-de92-44a0-8103-7b7dc471ad8c"* = "45b01348-de92-44a0-8103-7b7dc471ad8c"

*Defined in decorators/layout/layout.decorator.ts:52*

___
<a id="key_observable_prefix"></a>

### `<Const>` KEY_OBSERVABLE_PREFIX

**● KEY_OBSERVABLE_PREFIX**: *"on"* = "on"

*Defined in decorators/layout/layout.decorator.ts:47*

___
<a id="key_on_destroy"></a>

### `<Const>` KEY_ON_DESTROY

**● KEY_ON_DESTROY**: *"ngOnDestroy"* = "ngOnDestroy"

*Defined in decorators/layout/layout.decorator.ts:48*

___
<a id="key_subscriptions"></a>

### `<Const>` KEY_SUBSCRIPTIONS

**● KEY_SUBSCRIPTIONS**: *`string` \| `symbol`* =  createSymbol()

*Defined in decorators/layout/layout.decorator.ts:49*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"LayoutDecorator"* = "LayoutDecorator"

*Defined in decorators/layout/layout.decorator.ts:44*

___
<a id="undefined_rendering_context_subject"></a>

### `<Const>` UNDEFINED_RENDERING_CONTEXT_SUBJECT

**● UNDEFINED_RENDERING_CONTEXT_SUBJECT**: *`BehaviorSubject`<`RenderingContext`>* =  new _BehaviorSubject(
  UNDEFINED_RENDERING_CONTEXT
)

*Defined in decorators/layout/layout.decorator.ts:165*

___
<a id="_behaviorsubject"></a>

### `<Const>` _BehaviorSubject

**● _BehaviorSubject**: *`BehaviorSubject`* =  BehaviorSubject

*Defined in decorators/layout/layout.decorator.ts:45*

___
<a id="_symbols"></a>

### `<Const>` _SYMBOLS

**● _SYMBOLS**: *`Record`<`string`, `symbol` \| `string`>*

*Defined in decorators/layout/layout.decorator.ts:63*

___
<a id="_expressioncache"></a>

### `<Const>` _expressionCache

**● _expressionCache**: *`object`*

*Defined in decorators/layout/layout.decorator.ts:78*

#### Type declaration

[key: `string`]: [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`any`>

___

## Functions

<a id="layoutcomponent"></a>

###  LayoutComponent

▸ **LayoutComponent**(aDirective?: *[LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)*): `function`

*Defined in decorators/layout/layout.decorator.ts:535*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aDirective | [LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d) |

**Returns:** `function`

___
<a id="layoutmapping"></a>

###  LayoutMapping

▸ **LayoutMapping**(aID: *`string` \| `string`[] \| [LayoutMappingDirective](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)*, aSelector?: *`string` \| `string`[] \| `Type`<`any`>*, aLayoutMode?: *`string` \| `string`[]*): `function`

*Defined in decorators/layout/layout.decorator.ts:594*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aID | `string` \| `string`[] \| [LayoutMappingDirective](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343) |
| `Optional` aSelector | `string` \| `string`[] \| `Type`<`any`> |
| `Optional` aLayoutMode | `string` \| `string`[] |

**Returns:** `function`

___
<a id="renderingcontextbinding"></a>

###  RenderingContextBinding

▸ **RenderingContextBinding**<`T`>(aBinding?: *`string` \| [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`>*, aDefault?: *`T`*): `function`

*Defined in decorators/layout/layout.decorator.ts:565*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aBinding | `string` \| [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`> |
| `Optional` aDefault | `T` |

**Returns:** `function`

___
<a id="_assertbinding"></a>

###  _assertBinding

▸ **_assertBinding**<`T`>(aInstance: *`any`*, aSymbol: *`symbol` \| `string`*, aName: *`string`*): [Binding](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)<`T`>

*Defined in decorators/layout/layout.decorator.ts:156*

Makes sure we have a binding

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aInstance | `any` |  the instance to attach the binding to |
| aSymbol | `symbol` \| `string` |  the symbol |
| aName | `string` |  name of the object |

**Returns:** [Binding](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)<`T`>
the binding

___
<a id="_baseexpressionfromobservableexpression"></a>

###  _baseExpressionFromObservableExpression

▸ **_baseExpressionFromObservableExpression**(aKey: *`string`*): `string`

*Defined in decorators/layout/layout.decorator.ts:337*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |

**Returns:** `string`

___
<a id="_getexpressionfromdescriptor"></a>

###  _getExpressionFromDescriptor

▸ **_getExpressionFromDescriptor**(aPrototype: *`any`*, aOtherKey: *`string`*): `string` \| `null` \| `undefined`

*Defined in decorators/layout/layout.decorator.ts:365*

Returns an expression from its descriptor

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aPrototype | `any` |  the prototype |
| aOtherKey | `string` |  the key |

**Returns:** `string` \| `null` \| `undefined`
the expression, null if no expression exists and undefined if we need to fallback

___
<a id="_getexpressionfromprototype"></a>

###  _getExpressionFromPrototype

▸ **_getExpressionFromPrototype**(aPrototype: *`any`*, aOtherKey: *`string`*): `string` \| `null` \| `undefined`

*Defined in decorators/layout/layout.decorator.ts:394*

Checks if we can find an expression from the other property

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aPrototype | `any` |  the prototype |
| aOtherKey | `string` |  the other key |

**Returns:** `string` \| `null` \| `undefined`
the expression, null if no expression exists and undefined if we need to fallback

___
<a id="_getexpressiongetter"></a>

###  _getExpressionGetter

▸ **_getExpressionGetter**(aPrototype: *`any`*, aExpression: *`string` \| `null` \| `undefined`*, aKey: *`string`*, aOtherKey: *`string`*): [ExpressionGetter](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)

*Defined in decorators/layout/layout.decorator.ts:422*

Returns a getter method that computes the expression associated with a property

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aPrototype | `any` |  current prototype |
| aExpression | `string` \| `null` \| `undefined` |  the expression, may be null or undefined |
| aKey | `string` |
| aOtherKey | `string` |  the alternative key |

**Returns:** [ExpressionGetter](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
the getter. The getter returns the expression or null

___
<a id="_getobservableexpression"></a>

###  _getObservableExpression

▸ **_getObservableExpression**<`T`>(aInstance: *`any`*, aSymbol: *`symbol` \| `string`*, aName: *`string`*, aHandler: *[RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`>*): `Observable`<`T`>

*Defined in decorators/layout/layout.decorator.ts:198*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aInstance | `any` |
| aSymbol | `symbol` \| `string` |
| aName | `string` |
| aHandler | [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`> |

**Returns:** `Observable`<`T`>

___
<a id="_getonrenderingcontext"></a>

###  _getOnRenderingContext

▸ **_getOnRenderingContext**(aInstance: *`any`*): `Observable`<`RenderingContext`>

*Defined in decorators/layout/layout.decorator.ts:169*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aInstance | `any` |

**Returns:** `Observable`<`RenderingContext`>

___
<a id="_getresolvedexpression"></a>

###  _getResolvedExpression

▸ **_getResolvedExpression**<`T`>(aInstance: *`any`*, aSymbol: *`symbol` \| `string`*, aBaseName: *`string`*, aObserableName: *`string`*, aHandler?: *[RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`>*): `T`

*Defined in decorators/layout/layout.decorator.ts:267*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aInstance | `any` |
| aSymbol | `symbol` \| `string` |
| aBaseName | `string` |
| aObserableName | `string` |
| `Optional` aHandler | [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`> |

**Returns:** `T`

___
<a id="_getsymbol"></a>

###  _getSymbol

▸ **_getSymbol**(aName: *`string`*): `symbol` \| `string`

*Defined in decorators/layout/layout.decorator.ts:71*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aName | `string` |

**Returns:** `symbol` \| `string`

___
<a id="_isobservableexpression"></a>

###  _isObservableExpression

▸ **_isObservableExpression**(aKey: *`string`*): `boolean`

*Defined in decorators/layout/layout.decorator.ts:321*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |

**Returns:** `boolean`

___
<a id="_isstringorarray"></a>

###  _isStringOrArray

▸ **_isStringOrArray**(aValue: *`any`*): `boolean`

*Defined in decorators/layout/layout.decorator.ts:585*

Tests if a value is a string or a string array

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |

**Returns:** `boolean`

___
<a id="_isuppercase"></a>

###  _isUpperCase

▸ **_isUpperCase**(aValue: *`string`*): `boolean`

*Defined in decorators/layout/layout.decorator.ts:311*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `string` |

**Returns:** `boolean`

___
<a id="_observableexpressionfrombaseexpression"></a>

###  _observableExpressionFromBaseExpression

▸ **_observableExpressionFromBaseExpression**(aKey: *`string`*): `string`

*Defined in decorators/layout/layout.decorator.ts:350*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |

**Returns:** `string`

___
<a id="_parseexpression"></a>

###  _parseExpression

▸ **_parseExpression**(aExpression: *`string`*): [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`any`>

*Defined in decorators/layout/layout.decorator.ts:86*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aExpression | `string` |

**Returns:** [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`any`>

___
<a id="_registerexpression"></a>

###  _registerExpression

▸ **_registerExpression**<`T`>(aPrototype: *`any`*, aPropertyKey: *`string`*, aExpression: *`string`*, aDefault?: *`T`*): `void`

*Defined in decorators/layout/layout.decorator.ts:131*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aPrototype | `any` |
| aPropertyKey | `string` |
| aExpression | `string` |
| `Optional` aDefault | `T` |

**Returns:** `void`

___
<a id="_registerrenderingcontextdirective"></a>

###  _registerRenderingContextDirective

▸ **_registerRenderingContextDirective**<`T`>(aPrototype: *`any`*, aPropertyKey: *`string`*, aExpression: *`string` \| `null`*, aHandler?: *[RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`>*, aDefault?: *`T`*): `void`

*Defined in decorators/layout/layout.decorator.ts:459*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aPrototype | `any` |
| aPropertyKey | `string` |
| aExpression | `string` \| `null` |
| `Optional` aHandler | [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)<`T`> |
| `Optional` aDefault | `T` |

**Returns:** `void`

___
<a id="_registersubscription"></a>

###  _registerSubscription

▸ **_registerSubscription**(aInstance: *`any`*, aSubscription: *`Subscription`*): `void`

*Defined in decorators/layout/layout.decorator.ts:230*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aInstance | `any` |
| aSubscription | `Subscription` |

**Returns:** `void`

___


<a name="_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/layout/layout.directive"](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)

# External module: "decorators/layout/layout.directive"

## Index

### Interfaces

* [LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)
* [LayoutMappingDirective](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)

### Type aliases

* [RenderingContextDirective](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)

---

## Type aliases

<a id="renderingcontextdirective"></a>

###  RenderingContextDirective

**Ƭ RenderingContextDirective**: *`function`*

*Defined in decorators/layout/layout.directive.ts:37*

#### Type declaration
▸(ctx: *`RenderingContext`*): `T`

**Parameters:**

| Name | Type |
| ------ | ------ |
| ctx | `RenderingContext` |

**Returns:** `T`

___


<a name="_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["directives/contentref.directive"](#_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65)

# External module: "directives/contentref.directive"

## Index

### Classes

* [ContentRefDirective](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)

### Variables

* [KEYS](#_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65)
* [LOGGER](#_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65)

### Functions

* [_getComponentFactoryResolver](#_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65)

---

## Variables

<a id="keys"></a>

### `<Const>` KEYS

**● KEYS**: *`string`[]* =  [KEY_LAYOUT_MODE, KEY_RENDERING_CONTEXT]

*Defined in directives/contentref.directive.ts:41*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ContentRefDirective"* = "ContentRefDirective"

*Defined in directives/contentref.directive.ts:43*

___

## Functions

<a id="_getcomponentfactoryresolver"></a>

###  _getComponentFactoryResolver

▸ **_getComponentFactoryResolver**(aConfig?: *`Route`*): `ComponentFactoryResolver`

*Defined in directives/contentref.directive.ts:21*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aConfig | `Route` |

**Returns:** `ComponentFactoryResolver`

___


<a name="_bbe84b3cad7aca99fa17b914395d43d48b721e61c840dc93911b93fd4588c84f"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["guards/root.page.guard"](#_bbe84b3cad7aca99fa17b914395d43d48b721e61c840dc93911b93fd4588c84f)

# External module: "guards/root.page.guard"

## Index

### Classes

* [SelectFirstRootPageGuard](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)

---


<a name="_d53838c3180bb9a0e5494e993ceb8942c9866e807f2cfe89645b7e36005a0cf8"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["index"](#_d53838c3180bb9a0e5494e993ceb8942c9866e807f2cfe89645b7e36005a0cf8)

# External module: "index"

## Index

---


<a name="_319992bd9642dee656c59d094557eacc8b390a49ab7f3a8c44a9ffb3e5a12015"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["interfaces"](#_319992bd9642dee656c59d094557eacc8b390a49ab7f3a8c44a9ffb3e5a12015)

# External module: "interfaces"

## Index

---


<a name="_ba19199f9baea72e5d4361f38c1803c8df9fb16c0971bae9fbbb3dc0b816e094"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["interfaces/hub-context"](#_ba19199f9baea72e5d4361f38c1803c8df9fb16c0971bae9fbbb3dc0b816e094)

# External module: "interfaces/hub-context"

## Index

### Interfaces

* [HubContext](#_8afd357245bfd29cc25994d60f4f16e570acdafdcfc097a1c92568a7f78a4f4b)

---


<a name="_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["internal/assert"](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)

# External module: "internal/assert"

## Index

### Variables

* [DEV_MODE_ENABLED](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [DEV_MODE_SUBJECT](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [_BehaviorSubject](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)

### Functions

* [assertDefined](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertDependency](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertIsAbsoluteURL](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertIsArray](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertIsFunction](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertIsObservable](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertIsPlainObject](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertIsString](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertNil](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertNotNil](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertNull](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertTrue](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [assertUndefined](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [isAssertOn](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* [isDevModeOn](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)

---

## Variables

<a id="dev_mode_enabled"></a>

### `<Let>` DEV_MODE_ENABLED

**● DEV_MODE_ENABLED**: *`boolean`* = true

*Defined in internal/assert.ts:21*

___
<a id="dev_mode_subject"></a>

### `<Const>` DEV_MODE_SUBJECT

**● DEV_MODE_SUBJECT**: *`BehaviorSubject`<`boolean`>* =  new _BehaviorSubject<boolean>(DEV_MODE_ENABLED)

*Defined in internal/assert.ts:26*

___
<a id="_behaviorsubject"></a>

### `<Const>` _BehaviorSubject

**● _BehaviorSubject**: *`BehaviorSubject`* =  BehaviorSubject

*Defined in internal/assert.ts:16*

___

## Functions

<a id="assertdefined"></a>

###  assertDefined

▸ **assertDefined**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:91*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertdependency"></a>

###  assertDependency

▸ **assertDependency**(aValue: *`any`*, aName: *`string`*): `void`

*Defined in internal/assert.ts:41*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| aName | `string` |

**Returns:** `void`

___
<a id="assertisabsoluteurl"></a>

###  assertIsAbsoluteURL

▸ **assertIsAbsoluteURL**(aValue: *`URL` \| `string`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:115*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `URL` \| `string` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertisarray"></a>

###  assertIsArray

▸ **assertIsArray**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:71*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertisfunction"></a>

###  assertIsFunction

▸ **assertIsFunction**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:59*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertisobservable"></a>

###  assertIsObservable

▸ **assertIsObservable**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:47*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertisplainobject"></a>

###  assertIsPlainObject

▸ **assertIsPlainObject**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:53*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertisstring"></a>

###  assertIsString

▸ **assertIsString**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:65*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertnil"></a>

###  assertNil

▸ **assertNil**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:77*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertnotnil"></a>

###  assertNotNil

▸ **assertNotNil**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:83*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertnull"></a>

###  assertNull

▸ **assertNull**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:103*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="asserttrue"></a>

###  assertTrue

▸ **assertTrue**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:109*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="assertundefined"></a>

###  assertUndefined

▸ **assertUndefined**(aValue: *`any`*, aMessage?: *`string`*): `void`

*Defined in internal/assert.ts:97*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| `Optional` aMessage | `string` |

**Returns:** `void`

___
<a id="isasserton"></a>

###  isAssertOn

▸ **isAssertOn**(): `boolean`

*Defined in internal/assert.ts:37*

**Returns:** `boolean`

___
<a id="isdevmodeon"></a>

###  isDevModeOn

▸ **isDevModeOn**(): `boolean`

*Defined in internal/assert.ts:33*

**Returns:** `boolean`

___


<a name="_1e2adf2f10b7c6d3f1400cef07b9d1abad4253d5b94cfa77442f7094d1ed888d"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["module"](#_1e2adf2f10b7c6d3f1400cef07b9d1abad4253d5b94cfa77442f7094d1ed888d)

# External module: "module"

## Index

### Classes

* [WchNgModule](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3)

### Variables

* [LOGGER](#_1e2adf2f10b7c6d3f1400cef07b9d1abad4253d5b94cfa77442f7094d1ed888d)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"WchNgModule"* = "WchNgModule"

*Defined in module.ts:44*

___


<a name="_ac395f8820e08b5a7b39bcf985084d84c19fe9e5a08bfaafcbc3a839960ddbbe"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["modules/components.module"](#_ac395f8820e08b5a7b39bcf985084d84c19fe9e5a08bfaafcbc3a839960ddbbe)

# External module: "modules/components.module"

## Index

### Classes

* [WchNgComponentsModule](#_17eb895bcf08270214eb0b6ffbc83d320d56626555945699984c2d15c40dfdc8)

### Variables

* [LOGGER](#_ac395f8820e08b5a7b39bcf985084d84c19fe9e5a08bfaafcbc3a839960ddbbe)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"WchNgComponentsModule"* = "WchNgComponentsModule"

*Defined in modules/components.module.ts:15*

___


<a name="_592bc31cea7e41c9a14b09ed740079f56fee2ee83bc91d3b963d6df2758cc23b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["modules/services.module"](#_592bc31cea7e41c9a14b09ed740079f56fee2ee83bc91d3b963d6df2758cc23b)

# External module: "modules/services.module"

## Index

### Classes

* [WchNgServicesModule](#_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d)

### Variables

* [LOGGER](#_592bc31cea7e41c9a14b09ed740079f56fee2ee83bc91d3b963d6df2758cc23b)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"WchNgServicesModule"* = "WchNgServicesModule"

*Defined in modules/services.module.ts:11*

___


<a name="_41adc5704a54b446a326fb3718a6c4058987fc7ecb099e7ab319dd642a76c692"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["routing/default.routes"](#_41adc5704a54b446a326fb3718a6c4058987fc7ecb099e7ab319dd642a76c692)

# External module: "routing/default.routes"

## Index

### Variables

* [DEFAULT_ROUTES](#_41adc5704a54b446a326fb3718a6c4058987fc7ecb099e7ab319dd642a76c692)

---

## Variables

<a id="default_routes"></a>

### `<Const>` DEFAULT_ROUTES

**● DEFAULT_ROUTES**: *`Routes`* =  freezeDeep([
  {
    path: '**',
    component: PageComponent
  }
])

*Defined in routing/default.routes.ts:6*

___


<a name="_238690f5b301836e922f4faffb225e6c2ba94c7a0bbe6e26a538d1844bee357a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/bootstrap/bootstrap.service"](#_238690f5b301836e922f4faffb225e6c2ba94c7a0bbe6e26a538d1844bee357a)

# External module: "services/bootstrap/bootstrap.service"

## Index

### Classes

* [BootstrapService](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)

### Variables

* [LOGGER](#_238690f5b301836e922f4faffb225e6c2ba94c7a0bbe6e26a538d1844bee357a)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"BootstrapService"* = "BootstrapService"

*Defined in services/bootstrap/bootstrap.service.ts:15*

___


<a name="_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/components/components.service"](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)

# External module: "services/components/components.service"

## Index

### Classes

* [ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)

### Interfaces

* [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)
* [BySelectorMapping](#_396f371f7732c825e26877cde19dc192dd56b459501216f0eec39946e2675150)
* [MappingEntry](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)

### Variables

* [LOGGER](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_DEFAULT_LAYOUT](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_DEFAULT_LAYOUT_MODES](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_PAGE_NOT_FOUND_LAYOUT](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)

### Functions

* [_createMappingEntry](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getEntry](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getLayoutModesFromComponent](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getLayoutModesFromConfig](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getSelectorsFromComponent](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getTypeByLayout](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getTypeBySelector](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getTypeByTemplateType](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_getTypeName](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_onRegisterComponent](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_onRegisteredComponent](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* [_registerByLayoutModesAndSelectors](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ComponentsService"* = "ComponentsService"

*Defined in services/components/components.service.ts:26*

___
<a id="_default_layout"></a>

### `<Const>` _DEFAULT_LAYOUT

**● _DEFAULT_LAYOUT**: *"wch-default-layout"* = "wch-default-layout"

*Defined in services/components/components.service.ts:29*

___
<a id="_default_layout_modes"></a>

### `<Const>` _DEFAULT_LAYOUT_MODES

**● _DEFAULT_LAYOUT_MODES**: *`string`[]* =  [DEFAULT_LAYOUT_MODE]

*Defined in services/components/components.service.ts:96*

___
<a id="_page_not_found_layout"></a>

### `<Const>` _PAGE_NOT_FOUND_LAYOUT

**● _PAGE_NOT_FOUND_LAYOUT**: *"wch-404"* = "wch-404"

*Defined in services/components/components.service.ts:31*

___

## Functions

<a id="_createmappingentry"></a>

###  _createMappingEntry

▸ **_createMappingEntry**(aKey: *`string`*, aLayoutMode: *`string`*): [MappingEntry](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)

*Defined in services/components/components.service.ts:63*

Constructs an entry in the mapping table

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aKey | `string` |  the layout key |
| aLayoutMode | `string` |  the layout mode for debugging purposes |

**Returns:** [MappingEntry](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)
the entry

___
<a id="_getentry"></a>

###  _getEntry

▸ **_getEntry**(aController: *`string`*, aLayoutMode: *`string`*, aMapByLayoutMode: *[ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)*): [MappingEntry](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)

*Defined in services/components/components.service.ts:182*

Makes sure to get a subject

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aController | `string` |  the controller ID |
| aLayoutMode | `string` |  the layout mode |
| aMapByLayoutMode | [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a) |  the mapping from layout mode to controller mapping |

**Returns:** [MappingEntry](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)
the subject

___
<a id="_getlayoutmodesfromcomponent"></a>

###  _getLayoutModesFromComponent

▸ **_getLayoutModesFromComponent**(aComponent: *[RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)*): `string`[]

*Defined in services/components/components.service.ts:119*

Returns the layout modes for the component

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aComponent | [RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049) |  the layout component descriptor |

**Returns:** `string`[]
the modes

___
<a id="_getlayoutmodesfromconfig"></a>

###  _getLayoutModesFromConfig

▸ **_getLayoutModesFromConfig**(aModes?: *`string` \| `string`[]*): `string`[]

*Defined in services/components/components.service.ts:104*

Returns the layout modes for the component

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| `Optional` aModes | `string` \| `string`[] |  the layout component descriptor |

**Returns:** `string`[]
the modes

___
<a id="_getselectorsfromcomponent"></a>

###  _getSelectorsFromComponent

▸ **_getSelectorsFromComponent**(aComponent: *[RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)*): `string`[]

*Defined in services/components/components.service.ts:82*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aComponent | [RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049) |

**Returns:** `string`[]

___
<a id="_gettypebylayout"></a>

###  _getTypeByLayout

▸ **_getTypeByLayout**(aLayout: *`Layout`*, aLayoutMode: *`string`*, aMapping: *[ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)*, aMarkupService: *[MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)*): `Observable`<`ComponentTypeRef`<`any`>>

*Defined in services/components/components.service.ts:258*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aLayout | `Layout` |
| aLayoutMode | `string` |
| aMapping | [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a) |
| aMarkupService | [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0) |

**Returns:** `Observable`<`ComponentTypeRef`<`any`>>

___
<a id="_gettypebyselector"></a>

###  _getTypeBySelector

▸ **_getTypeBySelector**(aSelector: *`string`*, aLayoutMode: *`string`*, aMapping: *[ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)*): `Observable`<`ComponentTypeRef`<`any`>>

*Defined in services/components/components.service.ts:233*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSelector | `string` |
| aLayoutMode | `string` |
| aMapping | [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a) |

**Returns:** `Observable`<`ComponentTypeRef`<`any`>>

___
<a id="_gettypebytemplatetype"></a>

###  _getTypeByTemplateType

▸ **_getTypeByTemplateType**(aType: *`string`*, aLayoutMode: *`string`*, aMarkupService: *[MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)*): `Observable`<`ComponentTypeRef`<`any`>>

*Defined in services/components/components.service.ts:217*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aType | `string` |
| aLayoutMode | `string` |
| aMarkupService | [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0) |

**Returns:** `Observable`<`ComponentTypeRef`<`any`>>

___
<a id="_gettypename"></a>

###  _getTypeName

▸ **_getTypeName**(aType: *`Type`<`any`>*): `string`

*Defined in services/components/components.service.ts:52*

Tries to decode the name from the type

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aType | `Type`<`any`> |  the type |

**Returns:** `string`
the name

___
<a id="_onregistercomponent"></a>

###  _onRegisterComponent

▸ **_onRegisterComponent**(aController: *`string`*, aLayoutMode: *`string`*, aTypeRef: *`ComponentTypeRef`<`any`>*, aMap: *[ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)*): `void`

*Defined in services/components/components.service.ts:202*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aController | `string` |
| aLayoutMode | `string` |
| aTypeRef | `ComponentTypeRef`<`any`> |
| aMap | [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a) |

**Returns:** `void`

___
<a id="_onregisteredcomponent"></a>

###  _onRegisteredComponent

▸ **_onRegisteredComponent**(aComponent: *[RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)*, aMap: *[ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)*): `void`

*Defined in services/components/components.service.ts:149*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aComponent | [RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049) |
| aMap | [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a) |

**Returns:** `void`

___
<a id="_registerbylayoutmodesandselectors"></a>

###  _registerByLayoutModesAndSelectors

▸ **_registerByLayoutModesAndSelectors**(aTypeRef: *`ComponentTypeRef`<`any`>*, aLayoutModes: *`string`[]*, aSelectors: *`string`[]*, aMap: *[ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)*): `void`

*Defined in services/components/components.service.ts:125*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aTypeRef | `ComponentTypeRef`<`any`> |
| aLayoutModes | `string`[] |
| aSelectors | `string`[] |
| aMap | [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a) |

**Returns:** `void`

___


<a name="_a1f893f8f56b1cae17b5309c8f5601c11ecf0596382288255a336380c542f9c6"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/config/application.config"](#_a1f893f8f56b1cae17b5309c8f5601c11ecf0596382288255a336380c542f9c6)

# External module: "services/config/application.config"

## Index

### Interfaces

* [ApplicationConfig](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)

---


<a name="_477099d10fa76939ef984a7bef2a78677e3493a0f37f36694f63522553dac823"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/config/application.config.service"](#_477099d10fa76939ef984a7bef2a78677e3493a0f37f36694f63522553dac823)

# External module: "services/config/application.config.service"

## Index

### Classes

* [ApplicationConfigService](#_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf)

---


<a name="_ef62cb61115b348c62d6dac898b969dd81c5dec64a8d9eebeecfab6dc3bba578"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/config/empty.application.config"](#_ef62cb61115b348c62d6dac898b969dd81c5dec64a8d9eebeecfab6dc3bba578)

# External module: "services/config/empty.application.config"

## Index

### Object literals

* [EMPTY_APPLICATION_CONFIG](#_ef62cb61115b348c62d6dac898b969dd81c5dec64a8d9eebeecfab6dc3bba578)

---

## Object literals

<a id="empty_application_config"></a>

### `<Const>` EMPTY_APPLICATION_CONFIG

**EMPTY_APPLICATION_CONFIG**: *`object`*

*Defined in services/config/empty.application.config.ts:4*

<a id="empty_application_config.classification"></a>

####  classification

**● classification**: *`string`* = "content"

*Defined in services/config/empty.application.config.ts:7*

___
<a id="empty_application_config.elements"></a>

####  elements

**● elements**: *`object`*

*Defined in services/config/empty.application.config.ts:11*

#### Type declaration

___
<a id="empty_application_config.id"></a>

####  id

**● id**: *`null`* =  null

*Defined in services/config/empty.application.config.ts:5*

___
<a id="empty_application_config.kind"></a>

####  kind

**● kind**: *`undefined`[]* =  []

*Defined in services/config/empty.application.config.ts:8*

___
<a id="empty_application_config.name"></a>

####  name

**● name**: *`null`* =  null

*Defined in services/config/empty.application.config.ts:6*

___
<a id="empty_application_config.type"></a>

####  type

**● type**: *`null`* =  null

*Defined in services/config/empty.application.config.ts:9*

___
<a id="empty_application_config.typeid"></a>

####  typeId

**● typeId**: *`null`* =  null

*Defined in services/config/empty.application.config.ts:10*

___

___


<a name="_67b62b5e3d9425c72d2712811b308d96ad30aaee92118beae53b51ecacd4b4c0"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/dependency.service"](#_67b62b5e3d9425c72d2712811b308d96ad30aaee92118beae53b51ecacd4b4c0)

# External module: "services/dependency/dependency.service"

## Index

### Classes

* [DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)

### Variables

* [LOGGER](#_67b62b5e3d9425c72d2712811b308d96ad30aaee92118beae53b51ecacd4b4c0)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"DependencyService"* = "DependencyService"

*Defined in services/dependency/dependency.service.ts:15*

___


<a name="_85b5ae34a181e1ad4894e1e8dad42151b0c5d5d85b79f69b494b79af45172eb5"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message"](#_85b5ae34a181e1ad4894e1e8dad42151b0c5d5d85b79f69b494b79af45172eb5)

# External module: "services/dependency/message"

## Index

### Variables

* [LOGGER](#_85b5ae34a181e1ad4894e1e8dad42151b0c5d5d85b79f69b494b79af45172eb5)
* [SDK_MESSAGE_HANDLER](#_85b5ae34a181e1ad4894e1e8dad42151b0c5d5d85b79f69b494b79af45172eb5)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkMessages"* = "SdkMessages"

*Defined in services/dependency/message.ts:6*

___
<a id="sdk_message_handler"></a>

### `<Const>` SDK_MESSAGE_HANDLER

**● SDK_MESSAGE_HANDLER**: *`InjectionToken`<`SdkMessageHandler`>* =  new InjectionToken<SdkMessageHandler>('SdkMessageHandler')

*Defined in services/dependency/message.ts:9*

___


<a name="_4fd37deef1369440981c5bea10be009c10ed3c1af8bdfcaa9a6ba7f2ca527510"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.navigate.by.path.message"](#_4fd37deef1369440981c5bea10be009c10ed3c1af8bdfcaa9a6ba7f2ca527510)

# External module: "services/dependency/message/sdk.navigate.by.path.message"

## Index

### Classes

* [SdkNavigateByPathHandler](#_fc924de3de6efe2dd7b9c49c17314b4c474593d6d138b2bef1f21221ce3b4c89)

### Variables

* [LOGGER](#_4fd37deef1369440981c5bea10be009c10ed3c1af8bdfcaa9a6ba7f2ca527510)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkNavigateByPathHandler"* = "SdkNavigateByPathHandler"

*Defined in services/dependency/message/sdk.navigate.by.path.message.ts:9*

___


<a name="_d7de4cae77840961d9b97b0d122cca3903b74ad708939a072cc0b49e8b45f0f3"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.refresh.message"](#_d7de4cae77840961d9b97b0d122cca3903b74ad708939a072cc0b49e8b45f0f3)

# External module: "services/dependency/message/sdk.refresh.message"

## Index

### Classes

* [SdkRefreshHandler](#_18f96bbab2dadf928666963f4ebb416a18c55794de542e773516f287fc4dc2fa)

### Variables

* [LOGGER](#_d7de4cae77840961d9b97b0d122cca3903b74ad708939a072cc0b49e8b45f0f3)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkRefreshHandler"* = "SdkRefreshHandler"

*Defined in services/dependency/message/sdk.refresh.message.ts:9*

___


<a name="_bc66f3d00a388469ee53e6da7216c2f2e660edfbda4a4f7be4e01993954e8fc3"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.set.mode.message"](#_bc66f3d00a388469ee53e6da7216c2f2e660edfbda4a4f7be4e01993954e8fc3)

# External module: "services/dependency/message/sdk.set.mode.message"

## Index

### Classes

* [SdkSetModeHandler](#_2bc6041f8c754d40180456dbb486edf3d72e6878400269ec44419e21ca3ab7ec)

### Variables

* [LOGGER](#_bc66f3d00a388469ee53e6da7216c2f2e660edfbda4a4f7be4e01993954e8fc3)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkSetModeHandler"* = "SdkSetModeHandler"

*Defined in services/dependency/message/sdk.set.mode.message.ts:9*

___


<a name="_67ac5f1008dc1cfd24df6db181b04afb58fb521497d59b8a624c2569f8ce0298"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.active.route.message"](#_67ac5f1008dc1cfd24df6db181b04afb58fb521497d59b8a624c2569f8ce0298)

# External module: "services/dependency/message/sdk.subscribe.active.route.message"

## Index

### Classes

* [SdkSubscribeActiveRouteHandler](#_fcee85d58e5fd6080781450ef8c5331d2e1cc60cce38662f888d67a80087bc32)

### Variables

* [LOGGER](#_67ac5f1008dc1cfd24df6db181b04afb58fb521497d59b8a624c2569f8ce0298)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkSubscribeActiveRouteHandler"* = "SdkSubscribeActiveRouteHandler"

*Defined in services/dependency/message/sdk.subscribe.active.route.message.ts:9*

___


<a name="_ed32045b8a1335725100c8f3211cce009cf23cd15c0d8bb97f32e798c9b3ac5a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.message"](#_ed32045b8a1335725100c8f3211cce009cf23cd15c0d8bb97f32e798c9b3ac5a)

# External module: "services/dependency/message/sdk.subscribe.message"

## Index

### Classes

* [SdkUnsubscribeHandler](#_ebc214290354b1dc8b81f5c9706ff3289105e95e404a95ba2de03dc596047502)

### Variables

* [LOGGER](#_ed32045b8a1335725100c8f3211cce009cf23cd15c0d8bb97f32e798c9b3ac5a)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkUnsubscribeHandler"* = "SdkUnsubscribeHandler"

*Defined in services/dependency/message/sdk.subscribe.message.ts:8*

___


<a name="_7605dc7b94d2d1ba7a21306eb6f45513c1d90ba160b198b28305345a9fd6038e"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.mode.message"](#_7605dc7b94d2d1ba7a21306eb6f45513c1d90ba160b198b28305345a9fd6038e)

# External module: "services/dependency/message/sdk.subscribe.mode.message"

## Index

### Classes

* [SdkSubscribeModeHandler](#_52b267c0d508195419313ecc54f5d0cd846c6e351aa21f7e5ca394e6985c52a9)

### Variables

* [LOGGER](#_7605dc7b94d2d1ba7a21306eb6f45513c1d90ba160b198b28305345a9fd6038e)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkSubscribeModeHandler"* = "SdkSubscribeModeHandler"

*Defined in services/dependency/message/sdk.subscribe.mode.message.ts:9*

___


<a name="_2990dd0a23614c98f0573d749d8eb1dcf18fe37a52122b3035eba1b71dcfc94e"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.route.message"](#_2990dd0a23614c98f0573d749d8eb1dcf18fe37a52122b3035eba1b71dcfc94e)

# External module: "services/dependency/message/sdk.subscribe.route.message"

## Index

### Classes

* [SdkSubscribeRouteHandler](#_23f79f90e37024ef4d70d4250a2d092cc76ada1d3feab6def482a307a5682c31)

### Variables

* [LOGGER](#_2990dd0a23614c98f0573d749d8eb1dcf18fe37a52122b3035eba1b71dcfc94e)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkSubscribeRouteHandler"* = "SdkSubscribeRouteHandler"

*Defined in services/dependency/message/sdk.subscribe.route.message.ts:9*

___


<a name="_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/jsonp/jsonp"](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)

# External module: "services/dependency/sdk/jsonp/jsonp"

## Index

### Classes

* [SdkJsonp](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

### Interfaces

* [JsonpCallbacks](#_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177)
* [SdkJsonpDependencies](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae)

### Type aliases

* [JsonpCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)

### Variables

* [LOGGER](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)
* [_digestCache](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)

### Functions

* [_createDigest](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)
* [_getHash](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)
* [_registerCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)
* [_removeCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)

---

## Type aliases

<a id="jsonpcallback"></a>

###  JsonpCallback

**Ƭ JsonpCallback**: *`Consumer`<`AnyJson`>*

*Defined in services/dependency/sdk/jsonp/jsonp.ts:22*

___

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkJsonp"* = "SdkJsonp"

*Defined in services/dependency/sdk/jsonp/jsonp.ts:15*

___
<a id="_digestcache"></a>

### `<Const>` _digestCache

**● _digestCache**: *`function`* =  createCache<string>()

*Defined in services/dependency/sdk/jsonp/jsonp.ts:31*

#### Type declaration
▸(aKey: *`string`*, aCallback: *`CacheCallback`<`V`>*, aLogger?: *`Logger`*): `V`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |
| aCallback | `CacheCallback`<`V`> |
| `Optional` aLogger | `Logger` |

**Returns:** `V`

___

## Functions

<a id="_createdigest"></a>

### `<Const>` _createDigest

▸ **_createDigest**(aToken: *`string`*): `string`

*Defined in services/dependency/sdk/jsonp/jsonp.ts:39*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aToken | `string` |

**Returns:** `string`

___
<a id="_gethash"></a>

### `<Const>` _getHash

▸ **_getHash**(aToken: *`string`*): `string`

*Defined in services/dependency/sdk/jsonp/jsonp.ts:47*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aToken | `string` |

**Returns:** `string`

___
<a id="_registercallback"></a>

###  _registerCallback

▸ **_registerCallback**(aApiRoot: *`string`*, aUrl: *`string`*, aCallback: *[JsonpCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)*, aCallbacks: *[JsonpCallbacks](#_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177)*): `string`

*Defined in services/dependency/sdk/jsonp/jsonp.ts:57*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aApiRoot | `string` |
| aUrl | `string` |
| aCallback | [JsonpCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c) |
| aCallbacks | [JsonpCallbacks](#_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177) |

**Returns:** `string`

___
<a id="_removecallback"></a>

### `<Const>` _removeCallback

▸ **_removeCallback**(aDigest: *`string`*, aCallbacks: *[JsonpCallbacks](#_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177)*): `boolean`

*Defined in services/dependency/sdk/jsonp/jsonp.ts:79*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDigest | `string` |
| aCallbacks | [JsonpCallbacks](#_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177) |

**Returns:** `boolean`

___


<a name="_ea2216930bca9af40708550f041b7546580a5f4f39fa2f17931fc2203a7b908b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/router/router"](#_ea2216930bca9af40708550f041b7546580a5f4f39fa2f17931fc2203a7b908b)

# External module: "services/dependency/sdk/router/router"

## Index

### Classes

* [SdkRouter](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

### Interfaces

* [SdkRouterDependencies](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8)

### Variables

* [LOGGER](#_ea2216930bca9af40708550f041b7546580a5f4f39fa2f17931fc2203a7b908b)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SdkRouter"* = "SdkRouter"

*Defined in services/dependency/sdk/router/router.ts:11*

___


<a name="_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/sdk"](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3)

# External module: "services/dependency/sdk/sdk"

## Index

### Classes

* [Sdk](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

### Interfaces

* [SdkDependencies](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)

### Variables

* [LOGGER](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3)
* [_MESSAGE_EVENT](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3)
* [_MODULE_NAME](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3)
* [bHasHandlers](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"Sdk"* = "Sdk"

*Defined in services/dependency/sdk/sdk.ts:26*

___
<a id="_message_event"></a>

### `<Const>` _MESSAGE_EVENT

**● _MESSAGE_EVENT**: *"message"* = "message"

*Defined in services/dependency/sdk/sdk.ts:13*

___
<a id="_module_name"></a>

### `<Const>` _MODULE_NAME

**● _MODULE_NAME**: *"WchSdk"* =  WCH_SDK_MODULE_NAME

*Defined in services/dependency/sdk/sdk.ts:28*

___
<a id="bhashandlers"></a>

### `<Const>` bHasHandlers

**● bHasHandlers**: *`boolean`* =  (typeof addEventListener === FUNCTION_TYPE) && (typeof removeEventListener === FUNCTION_TYPE)

*Defined in services/dependency/sdk/sdk.ts:15*

___


<a name="_ab06c130522fcf9e96396d805d12068c1b5eb0ee4ff6c16dd5570e350b477eeb"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/search/search"](#_ab06c130522fcf9e96396d805d12068c1b5eb0ee4ff6c16dd5570e350b477eeb)

# External module: "services/dependency/sdk/search/search"

## Index

### Classes

* [SdkSearch](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

### Interfaces

* [SdkSearchDependencies](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962)

---


<a name="_05f06bb3482059fcddd8ddb706c4fa907d649be0b4277b119e5ba14dcf163b5c"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/version"](#_05f06bb3482059fcddd8ddb706c4fa907d649be0b4277b119e5ba14dcf163b5c)

# External module: "services/dependency/sdk/version"

## Index

### Interfaces

* [SdkVersion](#_5cefe6b4b575197ecce4a273b9478f22ef635d521230e18329457da14e251654)

### Object literals

* [SDK_VERSION](#_05f06bb3482059fcddd8ddb706c4fa907d649be0b4277b119e5ba14dcf163b5c)

---

## Object literals

<a id="sdk_version"></a>

### `<Const>` SDK_VERSION

**SDK_VERSION**: *`object`*

*Defined in services/dependency/sdk/version.ts:15*

<a id="sdk_version.build"></a>

####  build

**● build**: *`Date`* =  new Date(VERSION.build)

*Defined in services/dependency/sdk/version.ts:17*

___
<a id="sdk_version.version"></a>

####  version

**● version**: *`Version`* =  new Version(VERSION.version)

*Defined in services/dependency/sdk/version.ts:16*

___

___


<a name="_b76be65ae3d6fd4e3de5dc14af9402d197c151df703edbd4fa1828380df48646"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/http/http.service"](#_b76be65ae3d6fd4e3de5dc14af9402d197c151df703edbd4fa1828380df48646)

# External module: "services/http/http.service"

## Index

### Classes

* [WchHttpService](#_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf)

---


<a name="_bbf1a72512c3958c1ae1905b6b699afd6151de703126d3d655476f6b39dfa2ec"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/http/http.service.on.http.client"](#_bbf1a72512c3958c1ae1905b6b699afd6151de703126d3d655476f6b39dfa2ec)

# External module: "services/http/http.service.on.http.client"

## Index

### Classes

* [HttpServiceOnHttpClient](#_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806)

---


<a name="_3ae0484b92fc276435e155eb1c95de47f60a2f6a1f729dd7c1866c5f58276d7c"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/http/http.service.on.jsonp"](#_3ae0484b92fc276435e155eb1c95de47f60a2f6a1f729dd7c1866c5f58276d7c)

# External module: "services/http/http.service.on.jsonp"

## Index

### Classes

* [HttpServiceOnJsonp](#_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11)

### Variables

* [LOGGER](#_3ae0484b92fc276435e155eb1c95de47f60a2f6a1f729dd7c1866c5f58276d7c)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"HttpServiceOnJsonp"* = "HttpServiceOnJsonp"

*Defined in services/http/http.service.on.jsonp.ts:17*

___


<a name="_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/hub-info/hub-info.service"](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)

# External module: "services/hub-info/hub-info.service"

## Index

### Classes

* [HubInfoService](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)

### Functions

* [selectApiURL](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* [selectBaseURL](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* [selectCycleHandlingStrategy](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* [selectDeliveryURL](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* [selectFetchLevels](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* [selectHttpOptions](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* [selectHttpPreviewOptions](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)

---

## Functions

<a id="selectapiurl"></a>

###  selectApiURL

▸ **selectApiURL**(aService?: *`HubInfoConfig`*): `HubInfoUrlProvider`

*Defined in services/hub-info/hub-info.service.ts:105*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `HubInfoUrlProvider`

___
<a id="selectbaseurl"></a>

###  selectBaseURL

▸ **selectBaseURL**(aService?: *`HubInfoConfig`*): `HubInfoUrlProvider`

*Defined in services/hub-info/hub-info.service.ts:115*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `HubInfoUrlProvider`

___
<a id="selectcyclehandlingstrategy"></a>

###  selectCycleHandlingStrategy

▸ **selectCycleHandlingStrategy**(aService?: *`HubInfoConfig`*): `CYCLE_HANDLING` \| `string`

*Defined in services/hub-info/hub-info.service.ts:131*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `CYCLE_HANDLING` \| `string`

___
<a id="selectdeliveryurl"></a>

###  selectDeliveryURL

▸ **selectDeliveryURL**(aService?: *`HubInfoConfig`*): `HubInfoUrlProvider`

*Defined in services/hub-info/hub-info.service.ts:109*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `HubInfoUrlProvider`

___
<a id="selectfetchlevels"></a>

###  selectFetchLevels

▸ **selectFetchLevels**(aService?: *`HubInfoConfig`*): `number`

*Defined in services/hub-info/hub-info.service.ts:137*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `number`

___
<a id="selecthttpoptions"></a>

###  selectHttpOptions

▸ **selectHttpOptions**(aService?: *`HubInfoConfig`*): `HttpResourceOptions`

*Defined in services/hub-info/hub-info.service.ts:119*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `HttpResourceOptions`

___
<a id="selecthttppreviewoptions"></a>

###  selectHttpPreviewOptions

▸ **selectHttpPreviewOptions**(aService?: *`HubInfoConfig`*): `HttpResourceOptions`

*Defined in services/hub-info/hub-info.service.ts:125*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `HttpResourceOptions`

___


<a name="_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/hub-info/tokens"](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)

# External module: "services/hub-info/tokens"

## Index

### Variables

* [WCH_HUB_INFO_CONFIG](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* [WCH_TOKEN_API_URL](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* [WCH_TOKEN_BASE_URL](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* [WCH_TOKEN_CYCLE_HANDLING_STRATEGY](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* [WCH_TOKEN_DELIVERY_URL](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* [WCH_TOKEN_FETCH_LEVELS](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* [WCH_TOKEN_HTTP_OPTIONS](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* [WCH_TOKEN_HTTP_PREVIEW_OPTIONS](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)

---

## Variables

<a id="wch_hub_info_config"></a>

### `<Const>` WCH_HUB_INFO_CONFIG

**● WCH_HUB_INFO_CONFIG**: *`InjectionToken`<`HubInfoConfig`>* =  new InjectionToken<HubInfoConfig>(
  'HubInfoConfig'
)

*Defined in services/hub-info/tokens.ts:83*

___
<a id="wch_token_api_url"></a>

### `<Const>` WCH_TOKEN_API_URL

**● WCH_TOKEN_API_URL**: *"D86BA418-5252-45BB-938C-E17BBE044D0F"* = "D86BA418-5252-45BB-938C-E17BBE044D0F"

*Defined in services/hub-info/tokens.ts:15*

URL to access the API layer

Naming of this field according to the field in the rendering context

*__example__*: '[https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1'](https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1')

*__example__*: '[https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite'](https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite')

*__see__*: \[\[HubInfoConfig\]\]

___
<a id="wch_token_base_url"></a>

### `<Const>` WCH_TOKEN_BASE_URL

**● WCH_TOKEN_BASE_URL**: *"F5EBA2A4-2C6F-4FEF-B3D5-3C801CB1F2EB"* = "F5EBA2A4-2C6F-4FEF-B3D5-3C801CB1F2EB"

*Defined in services/hub-info/tokens.ts:40*

URL that represents the base URL of the path based routing of the application. This prefix will be preserved when generating and recognizing URLs. If this property is not configured, then it will be decoded from the window location.

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1')

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite')

*__example__*: '[https://my.external.example.com/'](https://my.external.example.com/')

*__see__*: \[\[HubInfoConfig\]\]

___
<a id="wch_token_cycle_handling_strategy"></a>

### `<Const>` WCH_TOKEN_CYCLE_HANDLING_STRATEGY

**● WCH_TOKEN_CYCLE_HANDLING_STRATEGY**: *"FAB70C09-F04A-4702-A8CC-87D3A3CED224"* = "FAB70C09-F04A-4702-A8CC-87D3A3CED224"

*Defined in services/hub-info/tokens.ts:72*

Optionally specify how the SDK is supposed to deal with cyclic references in the content data structure. Per default the rendering context will break cycles by representing the duplicate element in a reference path by an unresolved reference. When configuring the strategy to {@link CYCLE\_HANDLING.RESOLVE}, the [ContentrefComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f) will use a resolved refence when rendering the context, instead of the unresolved reference. This bears the risk of an infinite loop during rendering. The actual rendering context objects will still not have cycles, so a JSON serialization of these objects will produce a valid result.

Default is {@link CYCLE\_HANDLING.BREAK}

*__see__*: \[\[HubInfoConfig\]\]

___
<a id="wch_token_delivery_url"></a>

### `<Const>` WCH_TOKEN_DELIVERY_URL

**● WCH_TOKEN_DELIVERY_URL**: *"4BEFD6AD-FA4C-42D7-8C4C-2DCA38CDB499"* = "4BEFD6AD-FA4C-42D7-8C4C-2DCA38CDB499"

*Defined in services/hub-info/tokens.ts:27*

URL to access the delivery

Naming of this field according to the field in the rendering context

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1')

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite')

*__see__*: \[\[HubInfoConfig\]\]

___
<a id="wch_token_fetch_levels"></a>

### `<Const>` WCH_TOKEN_FETCH_LEVELS

**● WCH_TOKEN_FETCH_LEVELS**: *"62906A7D-0DE3-4404-AE7C-89E5FD91C72D"* = "62906A7D-0DE3-4404-AE7C-89E5FD91C72D"

*Defined in services/hub-info/tokens.ts:81*

Number of levels to fetch per request to the rendering context. If missing all levels will be fetched.

*__see__*: \[\[HubInfoConfig\]\]

___
<a id="wch_token_http_options"></a>

### `<Const>` WCH_TOKEN_HTTP_OPTIONS

**● WCH_TOKEN_HTTP_OPTIONS**: *"536C2178-F41A-4F56-AF89-83B52E5274D9"* = "536C2178-F41A-4F56-AF89-83B52E5274D9"

*Defined in services/hub-info/tokens.ts:47*

Optionally specify how the SDK makes outbound requests

*__see__*: \[\[HubInfoConfig\]\]

___
<a id="wch_token_http_preview_options"></a>

### `<Const>` WCH_TOKEN_HTTP_PREVIEW_OPTIONS

**● WCH_TOKEN_HTTP_PREVIEW_OPTIONS**: *"3AC667BA-FBAE-426D-BE7C-00DF1364280D"* = "3AC667BA-FBAE-426D-BE7C-00DF1364280D"

*Defined in services/hub-info/tokens.ts:54*

Optionally specify how the SDK makes outbound requests for the preview case

*__see__*: \[\[HubInfoConfig\]\]

___


<a name="_f2b93867d42dd81767ca63a2055cff0a2f8509b7557d37d4b582ccd053787032"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/info/wch.info.service"](#_f2b93867d42dd81767ca63a2055cff0a2f8509b7557d37d4b582ccd053787032)

# External module: "services/info/wch.info.service"

## Index

### Classes

* [WchInfoService](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)

---


<a name="_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/logger/logger.service"](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)

# External module: "services/logger/logger.service"

## Index

### Classes

* [LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)

### Variables

* [CREATE_CONSOLE_LOGGER](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [CREATE_EMPTY_LOGGER](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_LOGGERS](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_hasLoggerDelegateOverride](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_loggerDelegateOverride](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_modeSubscription](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)

### Functions

* [_getLogger](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_getLoggerDelegate](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_isLogging](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_logDeferred](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_logError](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_logErrorDeferred](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_logInfo](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_logInfoDeferred](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_logWarn](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_logWarnDeferred](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* [_refreshLoggers](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)

---

## Variables

<a id="create_console_logger"></a>

### `<Const>` CREATE_CONSOLE_LOGGER

**● CREATE_CONSOLE_LOGGER**: *`UnaryFunction`<`string`, `Logger`>* =  createConsoleLogger

*Defined in services/logger/logger.service.ts:21*

___
<a id="create_empty_logger"></a>

### `<Const>` CREATE_EMPTY_LOGGER

**● CREATE_EMPTY_LOGGER**: *`UnaryFunction`<`string`, `Logger`>* =  createEmptyLogger

*Defined in services/logger/logger.service.ts:23*

___
<a id="_loggers"></a>

### `<Const>` _LOGGERS

**● _LOGGERS**: *`object`*

*Defined in services/logger/logger.service.ts:18*

#### Type declaration

___
<a id="_hasloggerdelegateoverride"></a>

### `<Let>` _hasLoggerDelegateOverride

**● _hasLoggerDelegateOverride**: *`boolean`* = false

*Defined in services/logger/logger.service.ts:29*

___
<a id="_loggerdelegateoverride"></a>

### `<Let>` _loggerDelegateOverride

**● _loggerDelegateOverride**: *`any`*

*Defined in services/logger/logger.service.ts:26*

___
<a id="_modesubscription"></a>

### `<Const>` _modeSubscription

**● _modeSubscription**: *`Subscription`* =  DEV_MODE_SUBJECT.subscribe(mode => {
  // we only need to refresh if there was not explicit override
  if (_hasLoggerDelegateOverride) {
    _refreshLoggers();
  }
})

*Defined in services/logger/logger.service.ts:110*

___

## Functions

<a id="_getlogger"></a>

###  _getLogger

▸ **_getLogger**(aName: *`any`*): `any`

*Defined in services/logger/logger.service.ts:38*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aName | `any` |

**Returns:** `any`

___
<a id="_getloggerdelegate"></a>

###  _getLoggerDelegate

▸ **_getLoggerDelegate**(): `any`

*Defined in services/logger/logger.service.ts:31*

**Returns:** `any`

___
<a id="_islogging"></a>

###  _isLogging

▸ **_isLogging**(): `boolean`

*Defined in services/logger/logger.service.ts:47*

Tests if logging is enabled

**Returns:** `boolean`
true if logging is enabled, else false

___
<a id="_logdeferred"></a>

###  _logDeferred

▸ **_logDeferred**(aFunction: *`Function`*, aArgs: *`IArguments`*): `void`

*Defined in services/logger/logger.service.ts:76*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aFunction | `Function` |
| aArgs | `IArguments` |

**Returns:** `void`

___
<a id="_logerror"></a>

###  _logError

▸ **_logError**(aType: *`string`*, ...aArgs: *`any`[]*): `void`

*Defined in services/logger/logger.service.ts:61*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aType | `string` |
| `Rest` aArgs | `any`[] |

**Returns:** `void`

___
<a id="_logerrordeferred"></a>

###  _logErrorDeferred

▸ **_logErrorDeferred**(aType: *`string`*, ...aArgs: *`any`[]*): `void`

*Defined in services/logger/logger.service.ts:89*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aType | `string` |
| `Rest` aArgs | `any`[] |

**Returns:** `void`

___
<a id="_loginfo"></a>

###  _logInfo

▸ **_logInfo**(aType: *`string`*, ...aArgs: *`any`[]*): `void`

*Defined in services/logger/logger.service.ts:52*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aType | `string` |
| `Rest` aArgs | `any`[] |

**Returns:** `void`

___
<a id="_loginfodeferred"></a>

###  _logInfoDeferred

▸ **_logInfoDeferred**(aType: *`string`*, ...aArgs: *`any`[]*): `void`

*Defined in services/logger/logger.service.ts:84*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aType | `string` |
| `Rest` aArgs | `any`[] |

**Returns:** `void`

___
<a id="_logwarn"></a>

###  _logWarn

▸ **_logWarn**(aType: *`string`*, ...aArgs: *`any`[]*): `void`

*Defined in services/logger/logger.service.ts:67*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aType | `string` |
| `Rest` aArgs | `any`[] |

**Returns:** `void`

___
<a id="_logwarndeferred"></a>

###  _logWarnDeferred

▸ **_logWarnDeferred**(aType: *`string`*, ...aArgs: *`any`[]*): `void`

*Defined in services/logger/logger.service.ts:94*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aType | `string` |
| `Rest` aArgs | `any`[] |

**Returns:** `void`

___
<a id="_refreshloggers"></a>

###  _refreshLoggers

▸ **_refreshLoggers**(): `void`

*Defined in services/logger/logger.service.ts:99*

**Returns:** `void`

___


<a name="_988dd73902ec42cfc20af57b8f7e9191cef045d01d9226877d3e695a706547ae"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/logger/wch.logger.service"](#_988dd73902ec42cfc20af57b8f7e9191cef045d01d9226877d3e695a706547ae)

# External module: "services/logger/wch.logger.service"

## Index

### Classes

* [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)

### Functions

* [_createLoggerProxy](#_988dd73902ec42cfc20af57b8f7e9191cef045d01d9226877d3e695a706547ae)

---

## Functions

<a id="_createloggerproxy"></a>

###  _createLoggerProxy

▸ **_createLoggerProxy**(aName: *`string`*): `Logger`

*Defined in services/logger/wch.logger.service.ts:13*

Constructs a proxy around our logger

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aName | `string` |  the name of the loger |

**Returns:** `Logger`
the proxy

___


<a name="_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/mappings/mappings.service"](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)

# External module: "services/mappings/mappings.service"

## Index

### Classes

* [LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)

### Interfaces

* [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)

### Type aliases

* [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)

### Variables

* [EMPTY_ARRAY](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [EMPTY_LAYOUT_MODES](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [LOGGER](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)

### Functions

* [_findMappingByKind](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_getIds](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_getKinds](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_getLayoutModes](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_getMappingById](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_getMappingByKind](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_getSelector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_getSelectors](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_onRegisterMapping](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_onRegisteredMapping](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_registerAll](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_registerAllMappings](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_registerMapping](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* [_toStringArray](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)

---

## Type aliases

<a id="mappingentry"></a>

###  MappingEntry

**Ƭ MappingEntry**: *`Record`<`string`, [Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)>*

*Defined in services/mappings/mappings.service.ts:31*

___
<a id="selector"></a>

###  Selector

**Ƭ Selector**: *`string` \| `Type`<`any`>*

*Defined in services/mappings/mappings.service.ts:26*

___

## Variables

<a id="empty_array"></a>

### `<Const>` EMPTY_ARRAY

**● EMPTY_ARRAY**: *`string`[]* =  []

*Defined in services/mappings/mappings.service.ts:70*

___
<a id="empty_layout_modes"></a>

### `<Const>` EMPTY_LAYOUT_MODES

**● EMPTY_LAYOUT_MODES**: *`string`[]* =  [DEFAULT_LAYOUT_MODE]

*Defined in services/mappings/mappings.service.ts:71*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"MappingsService"* = "MappingsService"

*Defined in services/mappings/mappings.service.ts:24*

___

## Functions

<a id="_findmappingbykind"></a>

###  _findMappingByKind

▸ **_findMappingByKind**(aKeys: *`string`[]*, aMap: *[Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)*): [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) \| `undefined`

*Defined in services/mappings/mappings.service.ts:45*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKeys | `string`[] |
| aMap | [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8) |

**Returns:** [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) \| `undefined`

___
<a id="_getids"></a>

###  _getIds

▸ **_getIds**(aMapping: *[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)*): `string`[]

*Defined in services/mappings/mappings.service.ts:95*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aMapping | [RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97) |

**Returns:** `string`[]

___
<a id="_getkinds"></a>

###  _getKinds

▸ **_getKinds**(aMapping: *[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)*): `string`[]

*Defined in services/mappings/mappings.service.ts:106*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aMapping | [RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97) |

**Returns:** `string`[]

___
<a id="_getlayoutmodes"></a>

###  _getLayoutModes

▸ **_getLayoutModes**(aMapping: *[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)*): `string`[]

*Defined in services/mappings/mappings.service.ts:117*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aMapping | [RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97) |

**Returns:** `string`[]

___
<a id="_getmappingbyid"></a>

###  _getMappingById

▸ **_getMappingById**(aKey: *`string` \| `null` \| `undefined`*, aMap: *[Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)*): [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) \| `undefined`

*Defined in services/mappings/mappings.service.ts:38*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` \| `null` \| `undefined` |
| aMap | [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8) |

**Returns:** [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) \| `undefined`

___
<a id="_getmappingbykind"></a>

###  _getMappingByKind

▸ **_getMappingByKind**(aKeys: *`string`[] \| `null` \| `undefined`*, aMap: *[Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)*): [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) \| `undefined`

*Defined in services/mappings/mappings.service.ts:63*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKeys | `string`[] \| `null` \| `undefined` |
| aMap | [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8) |

**Returns:** [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) \| `undefined`

___
<a id="_getselector"></a>

###  _getSelector

▸ **_getSelector**(aLayoutMode: *`string`*, aRenderingContext: *`RenderingContext`*, aMap: *[Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)*): `string` \| `undefined`

*Defined in services/mappings/mappings.service.ts:223*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aLayoutMode | `string` |
| aRenderingContext | `RenderingContext` |
| aMap | [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8) |

**Returns:** `string` \| `undefined`

___
<a id="_getselectors"></a>

###  _getSelectors

▸ **_getSelectors**(aMapping: *[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)*): [Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)[]

*Defined in services/mappings/mappings.service.ts:128*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aMapping | [RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97) |

**Returns:** [Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)[]

___
<a id="_onregistermapping"></a>

###  _onRegisterMapping

▸ **_onRegisterMapping**(aId: *`string`*, aSelector: *[Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)*, aLayoutMode: *`string`*, aMap: *`Record`<`string`, [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)>*): `void`

*Defined in services/mappings/mappings.service.ts:197*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aId | `string` |
| aSelector | [Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) |
| aLayoutMode | `string` |
| aMap | `Record`<`string`, [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)> |

**Returns:** `void`

___
<a id="_onregisteredmapping"></a>

###  _onRegisteredMapping

▸ **_onRegisteredMapping**(aMapping: *[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)*, aMap: *[Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)*): `void`

*Defined in services/mappings/mappings.service.ts:176*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aMapping | [RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97) |
| aMap | [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8) |

**Returns:** `void`

___
<a id="_registerall"></a>

###  _registerAll

▸ **_registerAll**(aIds: *`string`[]*, aKinds: *`string`[]*, aModes: *`string`[]*, aSelectors: *[Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)[]*, aMap: *[Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)*): `void`

*Defined in services/mappings/mappings.service.ts:155*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aIds | `string`[] |
| aKinds | `string`[] |
| aModes | `string`[] |
| aSelectors | [Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)[] |
| aMap | [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8) |

**Returns:** `void`

___
<a id="_registerallmappings"></a>

###  _registerAllMappings

▸ **_registerAllMappings**(aIds: *`string`[]*, aModes: *`string`[]*, aSelectors: *[Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)[]*, aMap: *`Record`<`string`, [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)>*): `void`

*Defined in services/mappings/mappings.service.ts:138*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aIds | `string`[] |
| aModes | `string`[] |
| aSelectors | [Selector](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)[] |
| aMap | `Record`<`string`, [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)> |

**Returns:** `void`

___
<a id="_registermapping"></a>

###  _registerMapping

▸ **_registerMapping**(aId: *`string` \| `string`[]*, aSelector: *`string` \| `string`[] \| `Type`<`any`>*, aLayoutMode: *`string` \| `string`[]*, aMap: *[Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)*): `void`

*Defined in services/mappings/mappings.service.ts:256*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aId | `string` \| `string`[] |
| aSelector | `string` \| `string`[] \| `Type`<`any`> |
| aLayoutMode | `string` \| `string`[] |
| aMap | [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8) |

**Returns:** `void`

___
<a id="_tostringarray"></a>

###  _toStringArray

▸ **_toStringArray**(aValue: *`any`*, aDefault: *`string`[]*): `string`[]

*Defined in services/mappings/mappings.service.ts:80*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |
| aDefault | `string`[] |

**Returns:** `string`[]

___


<a name="_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/markup/markup.service"](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a)

# External module: "services/markup/markup.service"

## Index

### Classes

* [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)

### Interfaces

* [MarkupProvider](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201)
* [MarkupProviders](#_9e6156b3bfe72449f94c4ee452dd8254f42e8efdf3ea7e6930ea951bb3600a38)

### Type aliases

* [MarkupGenerator](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a)

### Variables

* [KEY_PROVIDERS](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a)

---

## Type aliases

<a id="markupgenerator"></a>

###  MarkupGenerator

**Ƭ MarkupGenerator**: *`function`*

*Defined in services/markup/markup.service.ts:7*

#### Type declaration
▸(context: *`RenderingContext`*, options?: *`any`*): `string`

**Parameters:**

| Name | Type |
| ------ | ------ |
| context | `RenderingContext` |
| `Optional` options | `any` |

**Returns:** `string`

___

## Variables

<a id="key_providers"></a>

### `<Const>` KEY_PROVIDERS

**● KEY_PROVIDERS**: *`string` \| `symbol`* =  createSymbol()

*Defined in services/markup/markup.service.ts:21*

___


<a name="_a4ea53f2c7b65b21b7e2184221f2b3862d8139ba9cc65562680b10b9685722a1"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/page/active.page.service"](#_a4ea53f2c7b65b21b7e2184221f2b3862d8139ba9cc65562680b10b9685722a1)

# External module: "services/page/active.page.service"

## Index

### Classes

* [ActivePageService](#_e182e35b7919bd0933ba137c1e60c23113f55be95c4277ff8ded80323581cea3)

---


<a name="_2e92a7ed3b599e9a511bdde18efeaefbcfb4b67844625ca60124819e59a4c59b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/refresh/refresh.service"](#_2e92a7ed3b599e9a511bdde18efeaefbcfb4b67844625ca60124819e59a4c59b)

# External module: "services/refresh/refresh.service"

## Index

### Classes

* [RefreshService](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a)

### Variables

* [LOGGER](#_2e92a7ed3b599e9a511bdde18efeaefbcfb4b67844625ca60124819e59a4c59b)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"RefreshService"* = "RefreshService"

*Defined in services/refresh/refresh.service.ts:7*

___


<a name="_e18f458b7bd5da7c281de34f0a232c48f4f82b76b9b8aa0af88a8139d2c52473"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/resolver/content.resolver.service"](#_e18f458b7bd5da7c281de34f0a232c48f4f82b76b9b8aa0af88a8139d2c52473)

# External module: "services/resolver/content.resolver.service"

## Index

### Classes

* [ContentResolverService](#_a70dc91f0d8674cabfc3e21ba42e63eff29447b53840f529cd949bfad58dcaf1)

### Variables

* [LOGGER](#_e18f458b7bd5da7c281de34f0a232c48f4f82b76b9b8aa0af88a8139d2c52473)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ContentResolverService"* = "ContentResolverService"

*Defined in services/resolver/content.resolver.service.ts:7*

___


<a name="_96f064481d6c8e3eee7e3b82e585d2928eed2ebbfaaf7aacaf7a3688df50583b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/search/search.service"](#_96f064481d6c8e3eee7e3b82e585d2928eed2ebbfaaf7aacaf7a3688df50583b)

# External module: "services/search/search.service"

## Index

### Classes

* [SearchService](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)

### Variables

* [LOGGER](#_96f064481d6c8e3eee7e3b82e585d2928eed2ebbfaaf7aacaf7a3688df50583b)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"SearchService"* = "SearchService"

*Defined in services/search/search.service.ts:12*

___


<a name="_8aa0e9fe6b6a8ebc3a606d4a650780769b65514b31fbc880342b606b0d885d4d"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/storage/storage.service"](#_8aa0e9fe6b6a8ebc3a606d4a650780769b65514b31fbc880342b606b0d885d4d)

# External module: "services/storage/storage.service"

## Index

### Classes

* [StorageService](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)

### Variables

* [LOGGER](#_8aa0e9fe6b6a8ebc3a606d4a650780769b65514b31fbc880342b606b0d885d4d)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"StorageService"* = "StorageService"

*Defined in services/storage/storage.service.ts:7*

___


<a name="_605c29efa87fd68948f00fce0e27c4e291723e61a88461e23c1c53f3bd4796b7"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/url/urls.service"](#_605c29efa87fd68948f00fce0e27c4e291723e61a88461e23c1c53f3bd4796b7)

# External module: "services/url/urls.service"

## Index

### Classes

* [UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)

### Variables

* [LOGGER](#_605c29efa87fd68948f00fce0e27c4e291723e61a88461e23c1c53f3bd4796b7)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"UrlsService"* = "UrlsService"

*Defined in services/url/urls.service.ts:25*

___


<a name="_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/wch.service"](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)

# External module: "services/wch.service"

## Index

### Classes

* [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)

### Variables

* [DEFAULT_CYCLE_HANDLING](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [EMPTY_PAGE_SEARCH_RESULT](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [EMPTY_RENDERING_CONTEXTS](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [EMPTY_RENDERING_CONTEXTS_SEQUENCE](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [EMPTY_RENDERING_CONTEXT_SEARCH_RESULT](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [EMPTY_SITE_PAGES_SEQUENCE](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [LOGGER](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [NO_RENDERING_CONTEXT](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [UNKNOWN_RENDERING_CONTEXT](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [_BehaviorSubject](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [_Subject](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)

### Functions

* [_pluckDocument](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [_pluckSiteId](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)

### Object literals

* [EMPTY_RENDERING_QUERY](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* [EMPTY_SITE_PAGES_QUERY](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)

---

## Variables

<a id="default_cycle_handling"></a>

### `<Const>` DEFAULT_CYCLE_HANDLING

**● DEFAULT_CYCLE_HANDLING**: *`BREAK`* =  CYCLE_HANDLING.BREAK

*Defined in services/wch.service.ts:154*

___
<a id="empty_page_search_result"></a>

### `<Const>` EMPTY_PAGE_SEARCH_RESULT

**● EMPTY_PAGE_SEARCH_RESULT**: *`PageSearchResult`[]* =  []

*Defined in services/wch.service.ts:125*

___
<a id="empty_rendering_contexts"></a>

### `<Const>` EMPTY_RENDERING_CONTEXTS

**● EMPTY_RENDERING_CONTEXTS**: *`RenderingContext`[]* =  []

*Defined in services/wch.service.ts:126*

___
<a id="empty_rendering_contexts_sequence"></a>

### `<Const>` EMPTY_RENDERING_CONTEXTS_SEQUENCE

**● EMPTY_RENDERING_CONTEXTS_SEQUENCE**: *`Observable`<`RenderingContextQueryResult`>* =  of(EMPTY_RENDERING_QUERY)

*Defined in services/wch.service.ts:138*

___
<a id="empty_rendering_context_search_result"></a>

### `<Const>` EMPTY_RENDERING_CONTEXT_SEARCH_RESULT

**● EMPTY_RENDERING_CONTEXT_SEARCH_RESULT**: *`RenderingContextSearchResult`[]* =  []

*Defined in services/wch.service.ts:124*

___
<a id="empty_site_pages_sequence"></a>

### `<Const>` EMPTY_SITE_PAGES_SEQUENCE

**● EMPTY_SITE_PAGES_SEQUENCE**: *`Observable`<`SitePagesQueryResult`>* =  of(
  EMPTY_SITE_PAGES_QUERY
)

*Defined in services/wch.service.ts:141*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"WchService"* = "WchService"

*Defined in services/wch.service.ts:150*

___
<a id="no_rendering_context"></a>

### `<Const>` NO_RENDERING_CONTEXT

**● NO_RENDERING_CONTEXT**: *`Observable`<`RenderingContext`>* =  of(
  EMPTY_RENDERING_CONTEXT
).pipe(map(cloneDeep))

*Defined in services/wch.service.ts:145*

___
<a id="unknown_rendering_context"></a>

### `<Const>` UNKNOWN_RENDERING_CONTEXT

**● UNKNOWN_RENDERING_CONTEXT**: *`Observable`<`RenderingContext`>* =  of(undefined)

*Defined in services/wch.service.ts:148*

___
<a id="_behaviorsubject"></a>

### `<Const>` _BehaviorSubject

**● _BehaviorSubject**: *`BehaviorSubject`* =  BehaviorSubject

*Defined in services/wch.service.ts:122*

___
<a id="_subject"></a>

### `<Const>` _Subject

**● _Subject**: *`Subject`* =  Subject

*Defined in services/wch.service.ts:151*

___

## Functions

<a id="_pluckdocument"></a>

###  _pluckDocument

▸ **_pluckDocument**<`T`>(aSearchResult: *`SearchResult`<`T`>*): `T`

*Defined in services/wch.service.ts:162*

Extracts the document element from a search result

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSearchResult | `SearchResult`<`T`> |  the result |

**Returns:** `T`
the document

___
<a id="_plucksiteid"></a>

###  _pluckSiteId

▸ **_pluckSiteId**(aSite: *`Site`*): `string`

*Defined in services/wch.service.ts:172*

Extracts the site ID from the site

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSite | `Site` |  the site |

**Returns:** `string`
the document

___

## Object literals

<a id="empty_rendering_query"></a>

### `<Const>` EMPTY_RENDERING_QUERY

**EMPTY_RENDERING_QUERY**: *`object`*

*Defined in services/wch.service.ts:127*

<a id="empty_rendering_query.numfound"></a>

####  numFound

**● numFound**: *`number`* = 0

*Defined in services/wch.service.ts:128*

___
<a id="empty_rendering_query.renderingcontexts"></a>

####  renderingContexts

**● renderingContexts**: *`RenderingContext`[]* =  EMPTY_RENDERING_CONTEXTS

*Defined in services/wch.service.ts:129*

___

___
<a id="empty_site_pages_query"></a>

### `<Const>` EMPTY_SITE_PAGES_QUERY

**EMPTY_SITE_PAGES_QUERY**: *`object`*

*Defined in services/wch.service.ts:131*

<a id="empty_site_pages_query.numfound-1"></a>

####  numFound

**● numFound**: *`number`* = 0

*Defined in services/wch.service.ts:132*

___
<a id="empty_site_pages_query.sitepages"></a>

####  sitePages

**● sitePages**: *`undefined`[]* =  []

*Defined in services/wch.service.ts:133*

___

___


<a name="_e8355839cf5efcaa6787da7312ec826f5b593d08ace85004c634a7948269742e"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/zone/zone.service"](#_e8355839cf5efcaa6787da7312ec826f5b593d08ace85004c634a7948269742e)

# External module: "services/zone/zone.service"

## Index

### Classes

* [ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)

### Functions

* [opAssertInAngularZone](#_e8355839cf5efcaa6787da7312ec826f5b593d08ace85004c634a7948269742e)

---

## Functions

<a id="opassertinangularzone"></a>

###  opAssertInAngularZone

▸ **opAssertInAngularZone**<`T`>(): `MonoTypeOperatorFunction`<`T`>

*Defined in services/zone/zone.service.ts:54*

Helper operator to assert that a function is executed in an angular zone

**Type parameters:**

#### T 

**Returns:** `MonoTypeOperatorFunction`<`T`>
the assertion operator

___


<a name="_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/bootstrap.utils"](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)

# External module: "utils/bootstrap.utils"

## Index

### Type aliases

* [BootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [BootstrapSource](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)

### Variables

* [LOGGER](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [data](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)

### Functions

* [_addDebug](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_bootstrapClear](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_bootstrapGet](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_bootstrapInputToObservable](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_bootstrapPut](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_bootstrapPutContentWithLayout](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_bootstrapPutSite](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_bootstrapRemove](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_generatorToObservable](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_internalPut](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* [_isBootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)

---

## Type aliases

<a id="bootstrapinput"></a>

###  BootstrapInput

**Ƭ BootstrapInput**: *[BootstrapSource](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`T`> \| `Generator`<[BootstrapSource](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`T`>>*

*Defined in utils/bootstrap.utils.ts:42*

___
<a id="bootstrapsource"></a>

###  BootstrapSource

**Ƭ BootstrapSource**: *`T` \| `string` \| `ObservableInput`<`T`>*

*Defined in utils/bootstrap.utils.ts:41*

___

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"BootstrapUtils"* = "BootstrapUtils"

*Defined in utils/bootstrap.utils.ts:37*

___
<a id="data"></a>

### `<Const>` data

**● data**: *`object`*

*Defined in utils/bootstrap.utils.ts:65*

#### Type declaration

[key: `string`]: `Observable`<`AnyJson`>

___

## Functions

<a id="_adddebug"></a>

### `<Const>` _addDebug

▸ **_addDebug**<`T`>(aObject: *`T`*): `T`

*Defined in utils/bootstrap.utils.ts:39*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aObject | `T` |

**Returns:** `T`

___
<a id="_bootstrapclear"></a>

###  _bootstrapClear

▸ **_bootstrapClear**(): `void`

*Defined in utils/bootstrap.utils.ts:139*

**Returns:** `void`

___
<a id="_bootstrapget"></a>

###  _bootstrapGet

▸ **_bootstrapGet**(aKey: *`string`*): `Observable`<`AnyJson`>

*Defined in utils/bootstrap.utils.ts:152*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |

**Returns:** `Observable`<`AnyJson`>

___
<a id="_bootstrapinputtoobservable"></a>

###  _bootstrapInputToObservable

▸ **_bootstrapInputToObservable**<`T`>(aValue: *[BootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`T`>*): `Observable`<`T`>

*Defined in utils/bootstrap.utils.ts:73*

Converts the input to an observable of the desired type

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aValue | [BootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`T`> |  the value to convert |

**Returns:** `Observable`<`T`>
the type

___
<a id="_bootstrapput"></a>

###  _bootstrapPut

▸ **_bootstrapPut**(aKey: *`string`*, aValue: *`AnyJson` \| `string` \| `ObservableInput`<`AnyJson`> \| `Generator`<`AnyJson`>*): `void`

*Defined in utils/bootstrap.utils.ts:167*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |
| aValue | `AnyJson` \| `string` \| `ObservableInput`<`AnyJson`> \| `Generator`<`AnyJson`> |

**Returns:** `void`

___
<a id="_bootstrapputcontentwithlayout"></a>

###  _bootstrapPutContentWithLayout

▸ **_bootstrapPutContentWithLayout**(aContext: *`ContentItemWithLayout` \| `string`*): `Subscription` \| `undefined`

*Defined in utils/bootstrap.utils.ts:200*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aContext | `ContentItemWithLayout` \| `string` |

**Returns:** `Subscription` \| `undefined`

___
<a id="_bootstrapputsite"></a>

###  _bootstrapPutSite

▸ **_bootstrapPutSite**(aInput: *[BootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`Site`>*, aSiteId?: *`string`*): `Subscription` \| `undefined`

*Defined in utils/bootstrap.utils.ts:244*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aInput | [BootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`Site`> |
| `Optional` aSiteId | `string` |

**Returns:** `Subscription` \| `undefined`

___
<a id="_bootstrapremove"></a>

###  _bootstrapRemove

▸ **_bootstrapRemove**(aKey: *`string`*): `void`

*Defined in utils/bootstrap.utils.ts:186*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |

**Returns:** `void`

___
<a id="_generatortoobservable"></a>

###  _generatorToObservable

▸ **_generatorToObservable**<`T`>(aGenerator: *`Generator`<[BootstrapSource](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`T`>>*): `Observable`<`T`>

*Defined in utils/bootstrap.utils.ts:106*

Converts a generator, the result of the generator can be another input

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aGenerator | `Generator`<[BootstrapSource](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`T`>> |  the generator |

**Returns:** `Observable`<`T`>
the observable

___
<a id="_internalput"></a>

###  _internalPut

▸ **_internalPut**(aKey: *`string`*, aValue: *[BootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`AnyJson`>*): `void`

*Defined in utils/bootstrap.utils.ts:123*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |
| aValue | [BootstrapInput](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)<`AnyJson`> |

**Returns:** `void`

___
<a id="_isbootstrapinput"></a>

###  _isBootstrapInput

▸ **_isBootstrapInput**<`T`>(aValue: *`any`*): `boolean`

*Defined in utils/bootstrap.utils.ts:52*

Tests if the value is a valid input

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aValue | `any` |  the value |

**Returns:** `boolean`
true if the value is valid

___


<a name="_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/component.mapping.utils"](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)

# External module: "utils/component.mapping.utils"

## Index

### Interfaces

* [RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)

### Variables

* [LOGGER](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)
* [_ReplaySubject](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)
* [_mappingsSubject](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)

### Functions

* [_destroy](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)
* [_getRegistered](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)
* [_registerFromLayoutComponent](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)
* [_registerFromMappingDirective](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ComponentMappingUtils"* = "ComponentMappingUtils"

*Defined in utils/component.mapping.utils.ts:13*

___
<a id="_replaysubject"></a>

### `<Const>` _ReplaySubject

**● _ReplaySubject**: *`ReplaySubject`* =  ReplaySubject

*Defined in utils/component.mapping.utils.ts:14*

___
<a id="_mappingssubject"></a>

### `<Const>` _mappingsSubject

**● _mappingsSubject**: *`ReplaySubject`<[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)>* =  new _ReplaySubject<RegisteredMapping>()

*Defined in utils/component.mapping.utils.ts:41*

___

## Functions

<a id="_destroy"></a>

###  _destroy

▸ **_destroy**(): `void`

*Defined in utils/component.mapping.utils.ts:100*

**Returns:** `void`

___
<a id="_getregistered"></a>

###  _getRegistered

▸ **_getRegistered**(): `Observable`<[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)>

*Defined in utils/component.mapping.utils.ts:47*

**Returns:** `Observable`<[RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)>

___
<a id="_registerfromlayoutcomponent"></a>

###  _registerFromLayoutComponent

▸ **_registerFromLayoutComponent**(aDirective: *[LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)*, aType: *`Type`<`any`>*): `void`

*Defined in utils/component.mapping.utils.ts:57*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDirective | [LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d) |
| aType | `Type`<`any`> |

**Returns:** `void`

___
<a id="_registerfrommappingdirective"></a>

###  _registerFromMappingDirective

▸ **_registerFromMappingDirective**(aDirective: *[LayoutMappingDirective](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)*, aComponent: *`Type`<`any`>*): `void`

*Defined in utils/component.mapping.utils.ts:85*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDirective | [LayoutMappingDirective](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343) |
| aComponent | `Type`<`any`> |

**Returns:** `void`

___


<a name="_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/component.utils"](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)

# External module: "utils/component.utils"

## Index

### Interfaces

* [RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)

### Variables

* [EMPTY_ARRAY](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [KEY_ANNOTATIONS](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [LOGGER](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [REFLECT_ANNOTATIONS](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_ReplaySubject](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [componentsObservable](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [componentsSubject](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)

### Functions

* [_addAnnotation](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_destroy](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_getAllAnnotations](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_getAnnotations](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_getRegisteredComponents](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_getSelector](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_getSelectors](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_pluckSelector](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* [_registerComponent](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)

---

## Variables

<a id="empty_array"></a>

### `<Const>` EMPTY_ARRAY

**● EMPTY_ARRAY**: *`string`[]* =  []

*Defined in utils/component.utils.ts:21*

___
<a id="key_annotations"></a>

### `<Const>` KEY_ANNOTATIONS

**● KEY_ANNOTATIONS**: *`string` \| `symbol`* =  createSymbol()

*Defined in utils/component.utils.ts:24*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"ComponentUtils"* = "ComponentUtils"

*Defined in utils/component.utils.ts:18*

___
<a id="reflect_annotations"></a>

### `<Const>` REFLECT_ANNOTATIONS

**● REFLECT_ANNOTATIONS**: *"__annotations__"* = "__annotations__"

*Defined in utils/component.utils.ts:22*

___
<a id="_replaysubject"></a>

### `<Const>` _ReplaySubject

**● _ReplaySubject**: *`ReplaySubject`* =  ReplaySubject

*Defined in utils/component.utils.ts:19*

___
<a id="componentsobservable"></a>

### `<Const>` componentsObservable

**● componentsObservable**: *`ReplaySubject`<[RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)>* =  componentsSubject

*Defined in utils/component.utils.ts:82*

___
<a id="componentssubject"></a>

### `<Const>` componentsSubject

**● componentsSubject**: *`ReplaySubject`<[RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)>* =  new _ReplaySubject<RegisteredComponent>()

*Defined in utils/component.utils.ts:81*

___

## Functions

<a id="_addannotation"></a>

###  _addAnnotation

▸ **_addAnnotation**(aAnnotation: *`any`*, aHost: *`any`*): `any`[]

*Defined in utils/component.utils.ts:35*

Adds one of our own annotations to the host and returns the set of annotations.

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aAnnotation | `any` |  the annotation to add |
| aHost | `any` |  the host to add the annotations to |

**Returns:** `any`[]
the list of annotations

___
<a id="_destroy"></a>

###  _destroy

▸ **_destroy**(): `void`

*Defined in utils/component.utils.ts:102*

**Returns:** `void`

___
<a id="_getallannotations"></a>

###  _getAllAnnotations

▸ **_getAllAnnotations**(aHost: *`any`*): `any`[]

*Defined in utils/component.utils.ts:56*

Returns all known annotations, which are a combination of our own annotations and the angular annotations.

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHost | `any` |  the type to get the annotations from |

**Returns:** `any`[]
the list of annotations

___
<a id="_getannotations"></a>

###  _getAnnotations

▸ **_getAnnotations**(aHost: *`any`*): `any`[]

*Defined in utils/component.utils.ts:45*

Returns our annotations for a function type

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHost | `any` |  the type to get the annotations from |

**Returns:** `any`[]
the list of annotations

___
<a id="_getregisteredcomponents"></a>

###  _getRegisteredComponents

▸ **_getRegisteredComponents**(): `Observable`<[RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)>

*Defined in utils/component.utils.ts:84*

**Returns:** `Observable`<[RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)>

___
<a id="_getselector"></a>

###  _getSelector

▸ **_getSelector**(aSelector: *`string` \| `Type`<`any`> \| `null` \| `undefined`*): `string` \| `undefined`

*Defined in utils/component.utils.ts:123*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSelector | `string` \| `Type`<`any`> \| `null` \| `undefined` |

**Returns:** `string` \| `undefined`

___
<a id="_getselectors"></a>

###  _getSelectors

▸ **_getSelectors**(aSelector: *`string` \| `string`[] \| `Type`<`any`> \| `null` \| `undefined`*): `string`[]

*Defined in utils/component.utils.ts:148*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSelector | `string` \| `string`[] \| `Type`<`any`> \| `null` \| `undefined` |

**Returns:** `string`[]

___
<a id="_pluckselector"></a>

###  _pluckSelector

▸ **_pluckSelector**(aMetadata: *`any`*): `any`

*Defined in utils/component.utils.ts:113*

Extracts the selector

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aMetadata | `any` |  metadata |

**Returns:** `any`
the selector

___
<a id="_registercomponent"></a>

###  _registerComponent

▸ **_registerComponent**(aDirective: *[LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)*, aType: *`Type`<`any`>*): `void`

*Defined in utils/component.utils.ts:88*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDirective | [LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d) |
| aType | `Type`<`any`> |

**Returns:** `void`

___


<a name="_fe1be40f7fb2503f05ea3ecfe8cca09d306aa65f541366620c18f6e7ff8793bf"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/http.service"](#_fe1be40f7fb2503f05ea3ecfe8cca09d306aa65f541366620c18f6e7ff8793bf)

# External module: "utils/http.service"

## Index

### Variables

* [HTTP_SERVICE](#_fe1be40f7fb2503f05ea3ecfe8cca09d306aa65f541366620c18f6e7ff8793bf)
* [LOGGER](#_fe1be40f7fb2503f05ea3ecfe8cca09d306aa65f541366620c18f6e7ff8793bf)

---

## Variables

<a id="http_service"></a>

### `<Const>` HTTP_SERVICE

**● HTTP_SERVICE**: *`InjectionToken`<`HttpService`>* =  new InjectionToken<HttpService>(LOGGER)

*Defined in utils/http.service.ts:7*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"HttpService"* = "HttpService"

*Defined in utils/http.service.ts:5*

___


<a name="_e7f491cc047baffff178366380246d21aa1c50b6bf8cd504d62c25fb7ecce81f"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/http.service.on.http"](#_e7f491cc047baffff178366380246d21aa1c50b6bf8cd504d62c25fb7ecce81f)

# External module: "utils/http.service.on.http"

## Index

### Variables

* [HTTP_SERVICE_ON_HTTP](#_e7f491cc047baffff178366380246d21aa1c50b6bf8cd504d62c25fb7ecce81f)
* [LOGGER](#_e7f491cc047baffff178366380246d21aa1c50b6bf8cd504d62c25fb7ecce81f)

### Functions

* [createHttpServiceOnHttp](#_e7f491cc047baffff178366380246d21aa1c50b6bf8cd504d62c25fb7ecce81f)

---

## Variables

<a id="http_service_on_http"></a>

### `<Const>` HTTP_SERVICE_ON_HTTP

**● HTTP_SERVICE_ON_HTTP**: *`InjectionToken`<`HttpService`>* =  new InjectionToken<HttpService>(LOGGER)

*Defined in utils/http.service.on.http.ts:12*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"HttpServiceOnHttp"* = "HttpServiceOnHttp"

*Defined in utils/http.service.on.http.ts:10*

___

## Functions

<a id="createhttpserviceonhttp"></a>

###  createHttpServiceOnHttp

▸ **createHttpServiceOnHttp**(aHttp: *`Http`*): `HttpService`

*Defined in utils/http.service.on.http.ts:22*

Creates an http service on top of the (deprecated) http client

*__deprecated__*: use createHttpServiceOnHttpClient instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHttp | `Http` |  the http angular service |

**Returns:** `HttpService`
the created service

___


<a name="_ad90d4ca4c4f319fd22e1ba3241a2fc926d5586c7264e4f924a9ba4029e7ddf7"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/http.service.on.http.client"](#_ad90d4ca4c4f319fd22e1ba3241a2fc926d5586c7264e4f924a9ba4029e7ddf7)

# External module: "utils/http.service.on.http.client"

## Index

### Variables

* [HTTP_SERVICE_ON_HTTP_CLIENT](#_ad90d4ca4c4f319fd22e1ba3241a2fc926d5586c7264e4f924a9ba4029e7ddf7)
* [LOGGER](#_ad90d4ca4c4f319fd22e1ba3241a2fc926d5586c7264e4f924a9ba4029e7ddf7)

### Functions

* [createHttpServiceOnHttpClient](#_ad90d4ca4c4f319fd22e1ba3241a2fc926d5586c7264e4f924a9ba4029e7ddf7)

---

## Variables

<a id="http_service_on_http_client"></a>

### `<Const>` HTTP_SERVICE_ON_HTTP_CLIENT

**● HTTP_SERVICE_ON_HTTP_CLIENT**: *`InjectionToken`<`HttpService`>* =  new InjectionToken<HttpService>(LOGGER)

*Defined in utils/http.service.on.http.client.ts:11*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"HttpServiceOnHttpClient"* = "HttpServiceOnHttpClient"

*Defined in utils/http.service.on.http.client.ts:9*

___

## Functions

<a id="createhttpserviceonhttpclient"></a>

###  createHttpServiceOnHttpClient

▸ **createHttpServiceOnHttpClient**(aHttp: *`HttpClient`*): `HttpService`

*Defined in utils/http.service.on.http.client.ts:19*

Implements the {@link HttpService} interface on top of the {@link HttpClient} interface.

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aHttp | `HttpClient` |  the client |

**Returns:** `HttpService`
service implementation

___


<a name="_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/http.service.on.jsonp"](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)

# External module: "utils/http.service.on.jsonp"

## Index

### Interfaces

* [PendingRequests](#_6eb799e7a0e4f66ef78882cf119a2dd4c61df4eb785d7cb694b258aa690c8572)

### Variables

* [HTTP_SERVICE_ON_JSONP](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [JSONP_CALLBACK](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [LOGGER](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [_JSONP_CALLBACK_PREFIX](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [_MODULE_NAME](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [_assertInAngularZone](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [_assertNotInAngularZone](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)

### Functions

* [_addCallback](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [_removeNode](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [_sendRequest](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* [createHttpServiceOnJsonp](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)

---

## Variables

<a id="http_service_on_jsonp"></a>

### `<Const>` HTTP_SERVICE_ON_JSONP

**● HTTP_SERVICE_ON_JSONP**: *`InjectionToken`<`HttpService`>* =  new InjectionToken<HttpService>(LOGGER)

*Defined in utils/http.service.on.jsonp.ts:14*

___
<a id="jsonp_callback"></a>

### `<Const>` JSONP_CALLBACK

**● JSONP_CALLBACK**: *"callback&#x3D;JSONP_CALLBACK"* = "callback=JSONP_CALLBACK"

*Defined in utils/http.service.on.jsonp.ts:16*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"HttpServiceOnJsonp"* = "HttpServiceOnJsonp"

*Defined in utils/http.service.on.jsonp.ts:12*

___
<a id="_jsonp_callback_prefix"></a>

### `<Const>` _JSONP_CALLBACK_PREFIX

**● _JSONP_CALLBACK_PREFIX**: *`string`* =  `${_MODULE_NAME}.jsonp.callback.`

*Defined in utils/http.service.on.jsonp.ts:20*

___
<a id="_module_name"></a>

### `<Const>` _MODULE_NAME

**● _MODULE_NAME**: *"WchSdk"* =  Sdk.MODULE_NAME

*Defined in utils/http.service.on.jsonp.ts:19*

___
<a id="_assertinangularzone"></a>

### `<Const>` _assertInAngularZone

**● _assertInAngularZone**: *`assertInAngularZone`* =  NgZone.assertInAngularZone

*Defined in utils/http.service.on.jsonp.ts:47*

expect to run in an Angular zone

___
<a id="_assertnotinangularzone"></a>

### `<Const>` _assertNotInAngularZone

**● _assertNotInAngularZone**: *`assertNotInAngularZone`* =  NgZone.assertNotInAngularZone

*Defined in utils/http.service.on.jsonp.ts:42*

expect to NOT run in an Angular zone

___

## Functions

<a id="_addcallback"></a>

###  _addCallback

▸ **_addCallback**(aUrl: *`string`*): `string`

*Defined in utils/http.service.on.jsonp.ts:206*

Adds the JSONP callback parameter to the URL

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aUrl | `string` |  the URL |

**Returns:** `string`
the callback

___
<a id="_removenode"></a>

###  _removeNode

▸ **_removeNode**(aNode: *`HTMLScriptElement`*): `void`

*Defined in utils/http.service.on.jsonp.ts:27*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aNode | `HTMLScriptElement` |

**Returns:** `void`

___
<a id="_sendrequest"></a>

###  _sendRequest

▸ **_sendRequest**<`T`>(aUrl: *`string`*, aDoc: *`Document`*, aScope: *`any`*, aPending: *[PendingRequests](#_6eb799e7a0e4f66ef78882cf119a2dd4c61df4eb785d7cb694b258aa690c8572)*): `Observable`<`T`>

*Defined in utils/http.service.on.jsonp.ts:59*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| aDoc | `Document` |
| aScope | `any` |
| aPending | [PendingRequests](#_6eb799e7a0e4f66ef78882cf119a2dd4c61df4eb785d7cb694b258aa690c8572) |

**Returns:** `Observable`<`T`>

___
<a id="createhttpserviceonjsonp"></a>

###  createHttpServiceOnJsonp

▸ **createHttpServiceOnJsonp**(aDoc: *`Document`*, aScope: *`any`*, aZoneService: *[ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)*): `HttpService`

*Defined in utils/http.service.on.jsonp.ts:226*

Implements the {@link HttpService} interface via JSONP requests.

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aDoc | `Document` |  the document |
| aScope | `any` |  the SDK scope |
| aZoneService | [ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec) |

**Returns:** `HttpService`
service implementation

___


<a name="_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/js.utils"](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)

# External module: "utils/js.utils"

## Index

### Variables

* [KEY_DEBUG](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_assign](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_defineProperties](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_false](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_getPrototype](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_keys](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_true](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [opDistinctComponentTypeRef](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)

### Functions

* [_concatArguments](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_getClassName](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_isEqualComponentTypeRef](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_perfCloneDeep](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_perfDeepEquals](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* [_perfFreezeDeep](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)

---

## Variables

<a id="key_debug"></a>

### `<Const>` KEY_DEBUG

**● KEY_DEBUG**: *"$$DEBUG"* = "$$DEBUG"

*Defined in utils/js.utils.ts:8*

___
<a id="_assign"></a>

### `<Const>` _assign

**● _assign**: *`assign`* =  Object.assign

*Defined in utils/js.utils.ts:10*

___
<a id="_defineproperties"></a>

### `<Const>` _defineProperties

**● _defineProperties**: *`defineProperties`* =  Object.defineProperties

*Defined in utils/js.utils.ts:11*

___
<a id="_false"></a>

### `<Const>` _false

**● _false**: *`false`* = false

*Defined in utils/js.utils.ts:21*

___
<a id="_getprototype"></a>

### `<Const>` _getPrototype

**● _getPrototype**: *`getPrototypeOf`* =  Object.getPrototypeOf

*Defined in utils/js.utils.ts:93*

___
<a id="_keys"></a>

### `<Const>` _keys

**● _keys**: *`keys`* =  Object.keys

*Defined in utils/js.utils.ts:26*

___
<a id="_true"></a>

### `<Const>` _true

**● _true**: *`true`* = true

*Defined in utils/js.utils.ts:16*

___
<a id="opdistinctcomponenttyperef"></a>

### `<Const>` opDistinctComponentTypeRef

**● opDistinctComponentTypeRef**: *`MonoTypeOperatorFunction`<`ComponentTypeRef`<`any`>>* =  distinctUntilChanged(_isEqualComponentTypeRef)

*Defined in utils/js.utils.ts:128*

___

## Functions

<a id="_concatarguments"></a>

###  _concatArguments

▸ **_concatArguments**(aDst: *`any`[]*, aArgs: *`IArguments`*): `any`[]

*Defined in utils/js.utils.ts:84*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDst | `any`[] |
| aArgs | `IArguments` |

**Returns:** `any`[]

___
<a id="_getclassname"></a>

###  _getClassName

▸ **_getClassName**(aThis: *`any`*, aDefault?: *`string`*): `string`

*Defined in utils/js.utils.ts:101*

Tries to decode the classname

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aThis | `any` |  the instance pointer |
| `Optional` aDefault | `string` |  default name |

**Returns:** `string`

___
<a id="_isequalcomponenttyperef"></a>

###  _isEqualComponentTypeRef

▸ **_isEqualComponentTypeRef**(aLeft: *`ComponentTypeRef`<`any`>*, aRight: *`ComponentTypeRef`<`any`>*): `boolean`

*Defined in utils/js.utils.ts:118*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aLeft | `ComponentTypeRef`<`any`> |
| aRight | `ComponentTypeRef`<`any`> |

**Returns:** `boolean`

___
<a id="_perfclonedeep"></a>

###  _perfCloneDeep

▸ **_perfCloneDeep**(aValue: *`any`*): `any`

*Defined in utils/js.utils.ts:33*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |

**Returns:** `any`

___
<a id="_perfdeepequals"></a>

###  _perfDeepEquals

▸ **_perfDeepEquals**(aLeft: *`any`*, aRight: *`any`*): `boolean`

*Defined in utils/js.utils.ts:66*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aLeft | `any` |
| aRight | `any` |

**Returns:** `boolean`

___
<a id="_perffreezedeep"></a>

###  _perfFreezeDeep

▸ **_perfFreezeDeep**(aValue: *`any`*): `any`

*Defined in utils/js.utils.ts:49*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | `any` |

**Returns:** `any`

___


<a name="_74dc82b9997334b36b3fcc2828a1e99df54a0d23f23ceb4d1fb2085892a31e2b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/lazy.injector"](#_74dc82b9997334b36b3fcc2828a1e99df54a0d23f23ceb4d1fb2085892a31e2b)

# External module: "utils/lazy.injector"

## Index

### Functions

* [lazyInjector](#_74dc82b9997334b36b3fcc2828a1e99df54a0d23f23ceb4d1fb2085892a31e2b)

---

## Functions

<a id="lazyinjector"></a>

###  lazyInjector

▸ **lazyInjector**<`T`,`R`>(aInjector: *`Injector`*, aToken: *`any`*, aDefault?: *`T`*, aTransform?: *`UnaryFunction`<`T`, `R`>*): `Generator`<`R`>

*Defined in utils/lazy.injector.ts:14*

Performs a lazy lookup of a dependency via an injector

**Type parameters:**

#### T 
#### R 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aInjector | `Injector` |  the injector |
| aToken | `any` |  the token |
| `Optional` aDefault | `T` |  an optional default of fallback token |
| `Optional` aTransform | `UnaryFunction`<`T`, `R`> |

**Returns:** `Generator`<`R`>
lazy injection result

___


<a name="_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/markup.utils"](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)

# External module: "utils/markup.utils"

## Index

### Interfaces

* [Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)
* [MarkupMapping](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348)
* [MarkupRef](#_347b956c7a13f96ebf166489d8e74e379b42e56bf742cc87f0ff62babcf9fcc7)

### Variables

* [LOGGER](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)

### Functions

* [_addMarkup](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)
* [_defineAccessor](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)
* [_defineAccessors](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)
* [_emptyMarkupMapping](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)

---

## Variables

<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"MarkupUtils"* = "MarkupUtils"

*Defined in utils/markup.utils.ts:8*

___

## Functions

<a id="_addmarkup"></a>

###  _addMarkup

▸ **_addMarkup**(aRenderingContext: *`RenderingContext`*, aMapping: *[MarkupMapping](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348)*, aProviders: *[MarkupProviders](#_9e6156b3bfe72449f94c4ee452dd8254f42e8efdf3ea7e6930ea951bb3600a38)*): `void`

*Defined in utils/markup.utils.ts:91*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aRenderingContext | `RenderingContext` |
| aMapping | [MarkupMapping](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348) |
| aProviders | [MarkupProviders](#_9e6156b3bfe72449f94c4ee452dd8254f42e8efdf3ea7e6930ea951bb3600a38) |

**Returns:** `void`

___
<a id="_defineaccessor"></a>

###  _defineAccessor

▸ **_defineAccessor**(aRenderingContext: *`RenderingContext`*, aHandlebarsMarkup: *[Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)*, aOptions?: *`any`*): `void`

*Defined in utils/markup.utils.ts:32*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aRenderingContext | `RenderingContext` |
| aHandlebarsMarkup | [Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db) |
| `Optional` aOptions | `any` |

**Returns:** `void`

___
<a id="_defineaccessors"></a>

###  _defineAccessors

▸ **_defineAccessors**(aRenderingContext: *`RenderingContext`*, aHandlebarsMarkup: *[Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)[]*, aOptions?: *`any`*): `void`

*Defined in utils/markup.utils.ts:71*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aRenderingContext | `RenderingContext` |
| aHandlebarsMarkup | [Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)[] |
| `Optional` aOptions | `any` |

**Returns:** `void`

___
<a id="_emptymarkupmapping"></a>

###  _emptyMarkupMapping

▸ **_emptyMarkupMapping**(): [MarkupMapping](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348)

*Defined in utils/markup.utils.ts:84*

**Returns:** [MarkupMapping](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348)

___


<a name="_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/page.utils"](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)

# External module: "utils/page.utils"

## Index

### Variables

* [_ReplaySubject](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)
* [pageSubject](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)

### Functions

* [_disposeActivePage](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)
* [_getActivePage](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)
* [_setActivePage](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)

---

## Variables

<a id="_replaysubject"></a>

### `<Const>` _ReplaySubject

**● _ReplaySubject**: *`ReplaySubject`* =  ReplaySubject

*Defined in utils/page.utils.ts:6*

___
<a id="pagesubject"></a>

### `<Const>` pageSubject

**● pageSubject**: *`ReplaySubject`<`RenderingContext`>* =  new _ReplaySubject<RenderingContext>(1)

*Defined in utils/page.utils.ts:9*

___

## Functions

<a id="_disposeactivepage"></a>

###  _disposeActivePage

▸ **_disposeActivePage**(): `void`

*Defined in utils/page.utils.ts:19*

**Returns:** `void`

___
<a id="_getactivepage"></a>

###  _getActivePage

▸ **_getActivePage**(): `Observable`<`RenderingContext`>

*Defined in utils/page.utils.ts:11*

**Returns:** `Observable`<`RenderingContext`>

___
<a id="_setactivepage"></a>

###  _setActivePage

▸ **_setActivePage**(aRenderingContext: *`RenderingContext`*): `void`

*Defined in utils/page.utils.ts:15*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aRenderingContext | `RenderingContext` |

**Returns:** `void`

___


<a name="_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/rx.utils"](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)

# External module: "utils/rx.utils"

## Index

### Classes

* [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)
* [NgInZoneScheduler](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)
* [NgOutOfZoneScheduler](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)

### Interfaces

* [ZoneSchedulers](#_d48587bd7a20b69326d9190a31c492d6abfeec12178967907389027d7b4681d7)

### Functions

* [_completeLater](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)
* [_createLater](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)
* [_createZoneSchedulers](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)
* [_distinctSubject](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)
* [_unsubscribeLater](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)

---

## Functions

<a id="_completelater"></a>

###  _completeLater

▸ **_completeLater**<`T`>(aSubject: *`Subject`<`T`>*): `function`

*Defined in utils/rx.utils.ts:15*

Constructs a callback function that completes the subject and then unsubscribes all pending subscriptions

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `function`
the callback

___
<a id="_createlater"></a>

###  _createLater

▸ **_createLater**<`K`,`O`,`T`>(aGenerator: *`function`*): `function`

*Defined in utils/rx.utils.ts:108*

Produces a value at a later point in time on top of a generator

**Type parameters:**

#### K 
#### O 
#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aGenerator | `function` |  the generator function |

**Returns:** `function`
a function that takes a parameter and generates an observable based on the result

___
<a id="_createzoneschedulers"></a>

###  _createZoneSchedulers

▸ **_createZoneSchedulers**(aZone: *`NgZone`*, aDelegate?: *`SchedulerLike`*): [ZoneSchedulers](#_d48587bd7a20b69326d9190a31c492d6abfeec12178967907389027d7b4681d7)

*Defined in utils/rx.utils.ts:86*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aZone | `NgZone` |
| `Optional` aDelegate | `SchedulerLike` |

**Returns:** [ZoneSchedulers](#_d48587bd7a20b69326d9190a31c492d6abfeec12178967907389027d7b4681d7)

___
<a id="_distinctsubject"></a>

###  _distinctSubject

▸ **_distinctSubject**<`T`>(aSubject: *`Subject`<`T`>*): `Observable`<`T`>

*Defined in utils/rx.utils.ts:96*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aSubject | `Subject`<`T`> |

**Returns:** `Observable`<`T`>

___
<a id="_unsubscribelater"></a>

###  _unsubscribeLater

▸ **_unsubscribeLater**(aSubscription: *`Subscription` \| `null` \| `undefined`*): `function`

*Defined in utils/rx.utils.ts:25*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSubscription | `Subscription` \| `null` \| `undefined` |

**Returns:** `function`

___


<a name="_f5c457d2581533c611d6f7a6ce1d921671e24c22316118e2022fd6ea1499dbe3"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/site.utils"](#_f5c457d2581533c611d6f7a6ce1d921671e24c22316118e2022fd6ea1499dbe3)

# External module: "utils/site.utils"

## Index

### Functions

* [_getPathFromUrlSegments](#_f5c457d2581533c611d6f7a6ce1d921671e24c22316118e2022fd6ea1499dbe3)

---

## Functions

<a id="_getpathfromurlsegments"></a>

###  _getPathFromUrlSegments

▸ **_getPathFromUrlSegments**(aSegments: *`UrlSegment`[]*): `string`

*Defined in utils/site.utils.ts:12*

Constructs the URL path based on the segemnets

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSegments | `UrlSegment`[] |  the segments |

**Returns:** `string`
the path

___


<a name="_42cf5e1d3292b1a518d2263861df4b0888a67177c0759555bfe58d171da7108c"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/symbol"](#_42cf5e1d3292b1a518d2263861df4b0888a67177c0759555bfe58d171da7108c)

# External module: "utils/symbol"

## Index

### Variables

* [createSymbol](#_42cf5e1d3292b1a518d2263861df4b0888a67177c0759555bfe58d171da7108c)

---

## Variables

<a id="createsymbol"></a>

### `<Const>` createSymbol

**● createSymbol**: *`Generator`<`symbol` \| `string`>* = 
  typeof Symbol === UNDEFINED_TYPE ? hashRandomIdentifier : Symbol

*Defined in utils/symbol.ts:9*

Creates a unique symbol, either as a real symbol or as a random string if symbols are not available.

*__returns__*: the unique symbol

___


<a name="_964689b9f979ecd61600392e64d4965329b594c0c1dd8b6aee491352e21c82fc"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/url.utils"](#_964689b9f979ecd61600392e64d4965329b594c0c1dd8b6aee491352e21c82fc)

# External module: "utils/url.utils"

## Index

### Variables

* [decode](#_964689b9f979ecd61600392e64d4965329b594c0c1dd8b6aee491352e21c82fc)

### Functions

* [_createBaseURL](#_964689b9f979ecd61600392e64d4965329b594c0c1dd8b6aee491352e21c82fc)
* [_ensureTrailingSlash](#_964689b9f979ecd61600392e64d4965329b594c0c1dd8b6aee491352e21c82fc)

---

## Variables

<a id="decode"></a>

### `<Const>` decode

**● decode**: *`decodeURIComponent`* =  decodeURIComponent

*Defined in utils/url.utils.ts:10*

___

## Functions

<a id="_createbaseurl"></a>

###  _createBaseURL

▸ **_createBaseURL**(aUrl: *`URL` \| `string`*): `string`

*Defined in utils/url.utils.ts:12*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `URL` \| `string` |

**Returns:** `string`

___
<a id="_ensuretrailingslash"></a>

###  _ensureTrailingSlash

▸ **_ensureTrailingSlash**(aUrl: *`string`*): `string`

*Defined in utils/url.utils.ts:6*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |

**Returns:** `string`

___


<a name="_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/url.utils.ifaces"](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)

# External module: "utils/url.utils.ifaces"

## Index

### Type aliases

* [QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)

---

## Type aliases

<a id="queryinput"></a>

###  QueryInput

**Ƭ QueryInput**: *`string` \| `string`[] \| `null` \| `undefined` \| `URLSearchParams` \| `Query` \| `HttpParams`*

*Defined in utils/url.utils.ifaces.ts:7*

___


<a name="_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/urls"](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)

# External module: "utils/urls"

## Index

### Variables

* [BFF_BASE_URL](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)
* [BFF_PUBLIC_URL](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)
* [BFF_SECURE_URL](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)
* [DEFAULT_PUBLIC_URL](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)
* [USE_PUBLIC_URL](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)

---

## Variables

<a id="bff_base_url"></a>

### `<Const>` BFF_BASE_URL

**● BFF_BASE_URL**: *`Observable`<`string`>* =  USE_PUBLIC_URL.pipe(
    map<boolean, string>(bFlag => bFlag ? BFF_PUBLIC_URL : BFF_SECURE_URL),
    distinctUntilChanged<string>(),
    opShareLast
)

*Defined in utils/urls.ts:16*

observable that exposes the current base URL for the BFF. The URL does NOT start with a slash but ends with a slash

___
<a id="bff_public_url"></a>

### `<Const>` BFF_PUBLIC_URL

**● BFF_PUBLIC_URL**: *"delivery/v1/rendering/"* = "delivery/v1/rendering/"

*Defined in utils/urls.ts:8*

___
<a id="bff_secure_url"></a>

### `<Const>` BFF_SECURE_URL

**● BFF_SECURE_URL**: *"mydelivery/v1/rendering/"* = "mydelivery/v1/rendering/"

*Defined in utils/urls.ts:9*

___
<a id="default_public_url"></a>

### `<Const>` DEFAULT_PUBLIC_URL

**● DEFAULT_PUBLIC_URL**: *`true`* = true

*Defined in utils/urls.ts:7*

___
<a id="use_public_url"></a>

### `<Const>` USE_PUBLIC_URL

**● USE_PUBLIC_URL**: *`BehaviorSubject`<`boolean`>* =  new BehaviorSubject<boolean>(DEFAULT_PUBLIC_URL)

*Defined in utils/urls.ts:12*

___


<a name="_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/wch.utils"](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)

# External module: "utils/wch.utils"

## Index

### Variables

* [KEY_ON_LAYOUT_MODE](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* [KEY_ON_RENDERING_CONTEXT](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* [LOGGER](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)

### Functions

* [_getAppBaseHref](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* [_getAppBaseURL](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* [_getPrefix](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* [_getRenderingContextURL](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* [_getSiteURL](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)

---

## Variables

<a id="key_on_layout_mode"></a>

### `<Const>` KEY_ON_LAYOUT_MODE

**● KEY_ON_LAYOUT_MODE**: *"onLayoutMode"* = "onLayoutMode"

*Defined in utils/wch.utils.ts:12*

___
<a id="key_on_rendering_context"></a>

### `<Const>` KEY_ON_RENDERING_CONTEXT

**● KEY_ON_RENDERING_CONTEXT**: *"onRenderingContext"* = "onRenderingContext"

*Defined in utils/wch.utils.ts:11*

___
<a id="logger"></a>

### `<Const>` LOGGER

**● LOGGER**: *"WchUtils"* = "WchUtils"

*Defined in utils/wch.utils.ts:9*

___

## Functions

<a id="_getappbasehref"></a>

###  _getAppBaseHref

▸ **_getAppBaseHref**(aBaseUrl?: *`HubInfoUrlProvider`*, aDoc?: *`Document`*): `string`

*Defined in utils/wch.utils.ts:52*

Decodes the base href of the application from the config or the doc fallback

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| `Optional` aBaseUrl | `HubInfoUrlProvider` |  the optional base URL |
| `Optional` aDoc | `Document` |  the document |

**Returns:** `string`
the path prefix that is supposed to be recognized as URLs

___
<a id="_getappbaseurl"></a>

###  _getAppBaseURL

▸ **_getAppBaseURL**(aBaseUrl?: *`HubInfoUrlProvider`*, aDoc?: *`Document`*): `string`

*Defined in utils/wch.utils.ts:34*

Decodes the base href of the application from the config or the doc fallback

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| `Optional` aBaseUrl | `HubInfoUrlProvider` |  the optional base URL |
| `Optional` aDoc | `Document` |  the document |

**Returns:** `string`
the path prefix that is supposed to be recognized as URLs

___
<a id="_getprefix"></a>

###  _getPrefix

▸ **_getPrefix**(aUrl: *`string`*): `string`

*Defined in utils/wch.utils.ts:20*

Decodes the path prefix from the URL that is the starting segment

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aUrl | `string` |  the potentially absolute URL |

**Returns:** `string`
the path prefix

___
<a id="_getrenderingcontexturl"></a>

###  _getRenderingContextURL

▸ **_getRenderingContextURL**(aID: *`string`*): `Observable`<`string`>

*Defined in utils/wch.utils.ts:66*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aID | `string` |

**Returns:** `Observable`<`string`>

___
<a id="_getsiteurl"></a>

###  _getSiteURL

▸ **_getSiteURL**(): `Observable`<`string`>

*Defined in utils/wch.utils.ts:77*

**Returns:** `Observable`<`string`>

___


<a name="_99dec4bde79405c04fb886c872bdc6dafdcd0ba313ac8208f7d4e803dac28909"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["version"](#_99dec4bde79405c04fb886c872bdc6dafdcd0ba313ac8208f7d4e803dac28909)

# External module: "version"

## Index

### Object literals

* [VERSION](#_99dec4bde79405c04fb886c872bdc6dafdcd0ba313ac8208f7d4e803dac28909)

---

## Object literals

<a id="version"></a>

### `<Const>` VERSION

**VERSION**: *`object`*

*Defined in version.ts:1*

<a id="version.build"></a>

####  build

**● build**: *`string`* = "01a021c9-8427-4cdd-bdd1-18ad1dda695d"

*Defined in version.ts:3*

___
<a id="version.version-1"></a>

####  version

**● version**: *`string`* = "f507579f-a7b0-4d70-9027-87aa5e35b020"

*Defined in version.ts:2*

___

___


<a name="_fa2f90834dc7bcb7615fc33319f9ed6a63f8c69fa277bfa7f08386c0beb5fb31"></a>
# Components

This section lists the components exposed by the SDK:

* [PageComponent](#_cd96c202ef926a9a7797f271485fb9854430c1b72b0204252b468c1959ffadc7)
* [SiteComponent](#_0ea2538687f5a7cb5cc176ec72fcdb2a8c64883ee259b1a30d81f3492694eec8)
* [ContentrefComponent](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce)
* [PagerefComponent](#_ca2823c1b45b2e19aa6191e41f1c976fa876a6b76857b8b55628daaaa3db9b1e)
* [ContentComponent](#_ee211c3a0579ab4a68dc7bf36197874a15f7be3217afa53122e5af50c2a0b3b2)
* [ContentQueryComponent](#_ba0050754613bc4ee351bda201a5bbcccb20903288daa3090c69d6a873e44112)
* [ContentPathComponent](#_2586b28aeb50789dea20d1a65242893104d0aa6b824a8c7fb0702ab455a0b2cc)
* [DefaultComponent](#_7a2b1e866077ba4205bd4e91e892e16a51e09b4255939dfc5ebe7c9417b271ee)
* [AbstractRenderingComponent](#_c67a54fbe639545fc8ecc33a206087da27aab36585eca9f5671d52da5484a234)

<a name="_a4fb5ccb8be0067409dbd71e1f1701b0d371666d4e24d7ac516fa948efe2baa4"></a>
# Services

The SDK exposes the following services:

* [BoostrapService](#_edd9858b113c3658569fc98cefa7eacb71f80a813caaac5a54be6fd51ce74e1c): used to register pre-built data records for a speedy first page experience
* [ComponentsService](#_32a765b3b5fb30276418839f2cae827a486d81fdd63b1bc89039ec6d4d2a9caf): used to register angular components as layouts
* [LayoutMappingService](#_3945effdd05b3e4fbaf1dfa8310b7ffb082dd200caaddaad708256e2ed7efe22): used to register fallback layout mappings
* [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027): provides configuration data to the SDK, typically injected by the application
* [WchInfoService](#_a8da2eda4287448d6feafc7d6945b06aeeac99c0f32569a8c53b8db4329d91c7): exposes resolved configuration data as used by the SDK. Based on [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027) but after applying all necessary fallbacks.
* [ActivePageService](#_5119acd67a4e6f32ff4a957a7734de424990e28d41a22d44ee947dcd0c5c6ee9): provides access to the currently rendered page
* [SDK Service](#_2dd18fd4183312a7e70288ab611df354ed8f56a2633cd462fd02c90242db7275): exposes selected functions of the SDK via the global window object, so these function can be used from non-Angular components or via cross-frame messaging.
* [SearchService](#_f14a3554bad29ba4c7d4e23139d09320b6afe3e8caf4a8b0521b328799a2ad82): exposes a convenience API to search for pages and content.
* [RefreshService](#_8097a56d4176a2568a9555662f6562b630f1d0dce29b65129329defe9451b940): service to refresh REST based data

<a name="_df2af39a9ce6ae60564b5d3bf4a712b0f99fb73d05d18e7406d16cc900ddfa1f"></a>
# Stories

Stories describing how to do interesting stuff with the `@ibm-wch-sdk/ng` module.

- [Leverage Reactive Streams](#_96877c8c36f9d905af33ac87fd26c556ca02d5053045380411692681e4490619)
- [Build Aspects](#_858ace716c7d2a2bfaea6e4c4475e9a6108ef1b09bf46a926702a63f06eac05c)
- [Hosting externally](#_00a9165ef9a765d758bac60b9e0d2643a7faad196cf1f0928bfb48ce6511b0e3)
- [URL management](#_9905c83088dec96e70a3cddd74ebeb97b593b8fc3fbecf4e7df83a0402b5daba)

<a name="_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027"></a>
# HubInfoService

The hub info service provides information about the entry URLs to WCH. It exposes the following information:

- `apiUrl`: URL to access the API layer, e.g. 'https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1'
- `deliveryUrl`: URL to access the delivery layer, e.g. 'https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1'
- `cycleHandlingStrategy?`: Specifies how the SDK deals with cyclic data structures, one of `BREAK` or `RESOLVE`.
- `fetchLevels?`: Number of levels to fetch per request to the rendering context. If missing all levels will be fetched.
- `httpOptions?`: Configuration of the HTTP strategy for the live site. Of type `HttpResourceOptions`.
- `httpPreviewOptions?`: Configuration of the HTTP strategy for the preview site. Of type `HttpResourceOptions`.

Note that the URLs may end with a slash, however this is not required.

## HttpResourceOptions

- `pollTime?`: The system will periodically poll for updates. This setting configures the polling interval in [ms]. Consider to configure a different value for the live site and the preview site.
- `pollTimeVariation?`: In order to avoid fetching many request at the same time, this settings allows to introduce a time window from which the polling interval will be selected randomly. Sensible values are between 0 and 1, relative to the `pollTime`. Default is `0.15`.
- `useLocalStorage?`: If enabled the system will try to load data from local storage before making an HTTP call. Defaults to `true`.
- `useBootstrap?`: If enabled the system will try to load inline data before making an HTTP call. Defaults to `true`. Use the [Bootstrapservice][./../bootstrap] to add this data.
- `useStaticResources?`: If enabled the system will try to load prerendered data from the delivery site before making an API call. This can lead to 404 responses that are logged in some browsers, however this is not an error. Defaults to `true`.
- `useApi?`: If enabled the system will load site data and content items from the WCH REST APIs. When disabled it will only use one of the methods mentioned above. Defaults to `true`. Setting it to `false` is not recommended for production scenarios, but rather for testing, e.g. performance testing.
- `useJsonP?`: If enabled the system uses [JSONP](https://en.wikipedia.org/wiki/JSONP) to load data. From a caching perspective this is more efficient than an XHR, because XHR requests are subject to [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) and as a consequence generate an origin specific cache entry. Defaults to `true`.

## Usage

```typescript
WchNgModule.forRoot({
  apiUrl: new URL(apiUrl),
  deliveryUrl: new URL(deliveryUrl)
});
```

alternative

```typescript
import { environment } from '../environments/environment';

WchNgModule.forRoot(environment);
```

Assuming that the required settings are part of the `environment` settings and the build uses the [Angular CLI environment](https://github.com/angular/angular-cli/wiki/stories-application-environments) concepts.

We recommend to define the `apiUrl` and the `deliveryUrl` only for development mode, assuming that the application in production mode will be served from WCH. In that case, the system will detect the `apiUrl` and the `deliveryUrl` automatically. In case the production mode application will be served from a different server than WCH, make sure to add an explicit configuration of the URLs.

## Tipps

When maintaining a [wchtools](https://www.npmjs.com/package/wchtools-cli) data folder with your application, this folder already has a `.wchtoolsoptions.json` file that contains the API URL. We recommend to read this file and initialize the environment variables from that source, to avoid duplication.

Declare the `.wchtoolsoptions.json` files as a modulein the `typings.d.ts` file, e.g. like this:

```typescript
declare module '*/.wchtoolsoptions.json' {
  const value: any;
  export default value;
}
```

In your `environment.ts` read the module, e.g. like this:

```typescript
import * as OPTIONS from './../../data/.wchtoolsoptions.json';

export const environment = {
  production: false,
  apiUrl: OPTIONS['x-ibm-dx-tenant-base-url'],
  httpOptions: { pollTime: 10 * 20 * 1000 },
  httpPreviewOptions: { pollTime: 10 * 1000 }
};
```

Note that it is sufficient to specify the `apiUrl` property, the matching `deliveryUrl` property will be derived from it, automatically.

## Note

- The naming of the fields was chosen such that it is consistent to the naming of the corresponding fields in the rendering context.
- The type of the fields is compatible to a [URL](https://developer.mozilla.org/en/docs/Web/API/URL) object.

## Injection Tokens

Although the typical way to configure the [WchNgModule](#_2e7dfe61ef2eebf4639dddfd3db5850531fea53c360a5cca7e3920d2b11a3dfb) is via its `forRoot` method, all configuration options are handled as tokens of the [dependency injector](https://angular.io/guide/dependency-injection). This makes it possible to configure individual aspects on a granular level. The injection tokens are:

- WCH_TOKEN_API_URL
- WCH_TOKEN_DELIVERY_URL
- WCH_TOKEN_BASE_URL
- WCH_TOKEN_HTTP_OPTIONS
- WCH_TOKEN_HTTP_PREVIEW_OPTIONS
- WCH_TOKEN_CYCLE_HANDLING_STRATEGY
- WCH_TOKEN_FETCH_LEVELS

<a name="_575fbdac6e637d569d4bfacce517e04a7e73bf62dfb055457e96d0899919b8e3"></a>
# Modules

The SDK splits its functionality into a module that provides services and one that provides components and directives.

## WchNgServiceModule

The service module exposes services.

## WchNgComponentsModule

The component module defines components and directives. Import this module from other modules that contain UI artifacts.

<a name="_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861"></a>
# Common Interfaces

<a name="_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce"></a>
# ContentrefComponent

The contentref component acts as a proxy component and renders that component that is referenced by the [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861).

## Usage

The component requires the `rendering context` to be injected.

Usage in HTML:
```html
<wch-contentref [renderingContext]="..."></wch-contentref>
```

## Attributes
* `renderingContext`: the rendering context for the component
* `layoutMode`: the layout mode used to render the component. If not specified the system uses a default.

## Events
* `onComponent`: the actual angular component instance that gets created
* `onComponentOutput`: a proxied output event sent by the dynamically created component. This event will be wrapped into a [ComponentOutput](#componentoutput) interface.

## Note
The contentref component is similar to the [PageComponent](#_cd96c202ef926a9a7797f271485fb9854430c1b72b0204252b468c1959ffadc7). The difference is that it receives its configuration information explicitly via a [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) whereas the [PageComponent](#_cd96c202ef926a9a7797f271485fb9854430c1b72b0204252b468c1959ffadc7) gets the context via the indirection of the active route.

## WCH Dependency
The component relies on the `layouts` element in the [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861). Depending on the `type` the contentref component will select the correct component to instantiate:
* `Angular4`: uses the `controller` field together with the [ComponentService](#_32a765b3b5fb30276418839f2cae827a486d81fdd63b1bc89039ec6d4d2a9caf) to locate a native Angular 4 component.
* `handlebars`:

# ComponentOutput
Interface that wraps an event emitted by a dynamically created component.

## Properties
* `renderingContext`: rendering context of the component emitting the event
* `layoutMode`: layout mode of the component emitting the event
* `component`: the actual component instance that emitted the event
* `output`: the output declaration representing the event
* `event`: the emitted event

<a name="_32a765b3b5fb30276418839f2cae827a486d81fdd63b1bc89039ec6d4d2a9caf"></a>
# ComponentsService

This service allow to register components with layout IDs. Consider to use the inline form of the [@LayoutComponent](#_79e64e744e1a60fe26344df9abd530ef32849774b9c22887da485e3d35a9e9d6) instead.

## Constants
* `DEFAULT_LAYOUT`: name of the component rendered if the layout cannot be resolved
* `PAGE_NOT_FOUND_LAYOUT`: name of the component rendered if the page cannot be resolved
<a name="_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0"></a>

#  @ibm-wch-sdk/ng

## Index

### External modules

* ["components/content/content.component"](#_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511)
* ["components/contentquery/contentquery.component"](#_93f6b97f4607102d6f3bbacce22cf2e0ca8662d6aa4406b243bb7e0706019732)
* ["components/contentref/contentref.component"](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)
* ["components/default/default.component"](#_e1325aefe2a16738536ab4b0fa51dda3f14d71c94d451451370c84435a5906d6)
* ["components/page/page.component"](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)
* ["components/pageref/pageref.component"](#_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c)
* ["components/path/content.path.component"](#_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e)
* ["components/rendering/abstract-base.component"](#_d2f8cc6d2576983326e6074110c719555b34559b370fa672500b867df69dc64d)
* ["components/rendering/abstract-rendering.component"](#_ac54ba022492debe11f810df44e5b6c94152d29d7ffc2722cff7fd2cf20c3162)
* ["components/rendering/abstract.lifecycle.component"](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100)
* ["components/site/site.component"](#_8565e40ce385f5912f89e5943ebb8c8e326f762be872a9bf2ec4b2c24c78bc0c)
* ["decorators/bootstrap/rendering.context.bootstrap.decorator"](#_65c7127c8aae3506ec1132d7e6432461fc1f7a5ec628b13d79920e3858d53c2a)
* ["decorators/bootstrap/rendering.context.bootstrap.directive"](#_8948ea36b56ab123d94936b1386f6ac14f94d1e28ee9def5efec035d20119e2b)
* ["decorators/bootstrap/site.bootstrap.decorator"](#_12ecb09806f876fdba17138f8515bb663c9939183381bb584fb6ec70d1a26954)
* ["decorators/bootstrap/site.bootstrap.directive"](#_a73ed924f1b42311d81cbb058ae092a396b2aeb2bbca001e2bb504ab145db021)
* ["decorators/layout/layout.decorator"](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f)
* ["decorators/layout/layout.directive"](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287)
* ["directives/contentref.directive"](#_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65)
* ["guards/root.page.guard"](#_bbe84b3cad7aca99fa17b914395d43d48b721e61c840dc93911b93fd4588c84f)
* ["index"](#_d53838c3180bb9a0e5494e993ceb8942c9866e807f2cfe89645b7e36005a0cf8)
* ["interfaces"](#_319992bd9642dee656c59d094557eacc8b390a49ab7f3a8c44a9ffb3e5a12015)
* ["interfaces/hub-context"](#_ba19199f9baea72e5d4361f38c1803c8df9fb16c0971bae9fbbb3dc0b816e094)
* ["internal/assert"](#_24b4760f65ef4efe01431182a8ea9c82b8c577f3a6caae785a085d108e38a974)
* ["module"](#_1e2adf2f10b7c6d3f1400cef07b9d1abad4253d5b94cfa77442f7094d1ed888d)
* ["modules/components.module"](#_ac395f8820e08b5a7b39bcf985084d84c19fe9e5a08bfaafcbc3a839960ddbbe)
* ["modules/services.module"](#_592bc31cea7e41c9a14b09ed740079f56fee2ee83bc91d3b963d6df2758cc23b)
* ["routing/default.routes"](#_41adc5704a54b446a326fb3718a6c4058987fc7ecb099e7ab319dd642a76c692)
* ["services/bootstrap/bootstrap.service"](#_238690f5b301836e922f4faffb225e6c2ba94c7a0bbe6e26a538d1844bee357a)
* ["services/components/components.service"](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc)
* ["services/config/application.config"](#_a1f893f8f56b1cae17b5309c8f5601c11ecf0596382288255a336380c542f9c6)
* ["services/config/application.config.service"](#_477099d10fa76939ef984a7bef2a78677e3493a0f37f36694f63522553dac823)
* ["services/config/empty.application.config"](#_ef62cb61115b348c62d6dac898b969dd81c5dec64a8d9eebeecfab6dc3bba578)
* ["services/dependency/dependency.service"](#_67b62b5e3d9425c72d2712811b308d96ad30aaee92118beae53b51ecacd4b4c0)
* ["services/dependency/message"](#_85b5ae34a181e1ad4894e1e8dad42151b0c5d5d85b79f69b494b79af45172eb5)
* ["services/dependency/message/sdk.navigate.by.path.message"](#_4fd37deef1369440981c5bea10be009c10ed3c1af8bdfcaa9a6ba7f2ca527510)
* ["services/dependency/message/sdk.refresh.message"](#_d7de4cae77840961d9b97b0d122cca3903b74ad708939a072cc0b49e8b45f0f3)
* ["services/dependency/message/sdk.set.mode.message"](#_bc66f3d00a388469ee53e6da7216c2f2e660edfbda4a4f7be4e01993954e8fc3)
* ["services/dependency/message/sdk.subscribe.active.route.message"](#_67ac5f1008dc1cfd24df6db181b04afb58fb521497d59b8a624c2569f8ce0298)
* ["services/dependency/message/sdk.subscribe.message"](#_ed32045b8a1335725100c8f3211cce009cf23cd15c0d8bb97f32e798c9b3ac5a)
* ["services/dependency/message/sdk.subscribe.mode.message"](#_7605dc7b94d2d1ba7a21306eb6f45513c1d90ba160b198b28305345a9fd6038e)
* ["services/dependency/message/sdk.subscribe.route.message"](#_2990dd0a23614c98f0573d749d8eb1dcf18fe37a52122b3035eba1b71dcfc94e)
* ["services/dependency/sdk/jsonp/jsonp"](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)
* ["services/dependency/sdk/router/router"](#_ea2216930bca9af40708550f041b7546580a5f4f39fa2f17931fc2203a7b908b)
* ["services/dependency/sdk/sdk"](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3)
* ["services/dependency/sdk/search/search"](#_ab06c130522fcf9e96396d805d12068c1b5eb0ee4ff6c16dd5570e350b477eeb)
* ["services/dependency/sdk/version"](#_05f06bb3482059fcddd8ddb706c4fa907d649be0b4277b119e5ba14dcf163b5c)
* ["services/http/http.service"](#_b76be65ae3d6fd4e3de5dc14af9402d197c151df703edbd4fa1828380df48646)
* ["services/http/http.service.on.http.client"](#_bbf1a72512c3958c1ae1905b6b699afd6151de703126d3d655476f6b39dfa2ec)
* ["services/http/http.service.on.jsonp"](#_3ae0484b92fc276435e155eb1c95de47f60a2f6a1f729dd7c1866c5f58276d7c)
* ["services/hub-info/hub-info.service"](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2)
* ["services/hub-info/tokens"](#_9af0494a7b2e78ad7ca10896a46539612c019a725a9730f908041f9633024407)
* ["services/info/wch.info.service"](#_f2b93867d42dd81767ca63a2055cff0a2f8509b7557d37d4b582ccd053787032)
* ["services/logger/logger.service"](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6)
* ["services/logger/wch.logger.service"](#_988dd73902ec42cfc20af57b8f7e9191cef045d01d9226877d3e695a706547ae)
* ["services/mappings/mappings.service"](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)
* ["services/markup/markup.service"](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a)
* ["services/page/active.page.service"](#_a4ea53f2c7b65b21b7e2184221f2b3862d8139ba9cc65562680b10b9685722a1)
* ["services/refresh/refresh.service"](#_2e92a7ed3b599e9a511bdde18efeaefbcfb4b67844625ca60124819e59a4c59b)
* ["services/resolver/content.resolver.service"](#_e18f458b7bd5da7c281de34f0a232c48f4f82b76b9b8aa0af88a8139d2c52473)
* ["services/search/search.service"](#_96f064481d6c8e3eee7e3b82e585d2928eed2ebbfaaf7aacaf7a3688df50583b)
* ["services/storage/storage.service"](#_8aa0e9fe6b6a8ebc3a606d4a650780769b65514b31fbc880342b606b0d885d4d)
* ["services/url/urls.service"](#_605c29efa87fd68948f00fce0e27c4e291723e61a88461e23c1c53f3bd4796b7)
* ["services/wch.service"](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9)
* ["services/zone/zone.service"](#_e8355839cf5efcaa6787da7312ec826f5b593d08ace85004c634a7948269742e)
* ["utils/bootstrap.utils"](#_5f95ebfffe0d65359233860a67d6167214fc00cc7d75bd744dbd419f6620694a)
* ["utils/component.mapping.utils"](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2)
* ["utils/component.utils"](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344)
* ["utils/http.service"](#_fe1be40f7fb2503f05ea3ecfe8cca09d306aa65f541366620c18f6e7ff8793bf)
* ["utils/http.service.on.http"](#_e7f491cc047baffff178366380246d21aa1c50b6bf8cd504d62c25fb7ecce81f)
* ["utils/http.service.on.http.client"](#_ad90d4ca4c4f319fd22e1ba3241a2fc926d5586c7264e4f924a9ba4029e7ddf7)
* ["utils/http.service.on.jsonp"](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2)
* ["utils/js.utils"](#_310034c1948afec413bfbc08d6fb77b0202e48f62b7eecc41f25f5988bea8604)
* ["utils/lazy.injector"](#_74dc82b9997334b36b3fcc2828a1e99df54a0d23f23ceb4d1fb2085892a31e2b)
* ["utils/markup.utils"](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644)
* ["utils/page.utils"](#_7aaa94bc0f440d073c072f3dfff9c1942169556caab6d27d6180d82368459e56)
* ["utils/rx.utils"](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db)
* ["utils/site.utils"](#_f5c457d2581533c611d6f7a6ce1d921671e24c22316118e2022fd6ea1499dbe3)
* ["utils/symbol"](#_42cf5e1d3292b1a518d2263861df4b0888a67177c0759555bfe58d171da7108c)
* ["utils/url.utils"](#_964689b9f979ecd61600392e64d4965329b594c0c1dd8b6aee491352e21c82fc)
* ["utils/url.utils.ifaces"](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)
* ["utils/urls"](#_3d432b835af5234b55aebc3269d5e171c762fdb13cd8c5662f2a84ccf439015a)
* ["utils/wch.utils"](#_a7c3de10ef8144878b0277b8658c675b4cc8f8036ae0cb778fdc3e3b58d9a125)
* ["version"](#_99dec4bde79405c04fb886c872bdc6dafdcd0ba313ac8208f7d4e803dac28909)

---


<a name="_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/content/content.component"](#_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511) > [ContentComponent](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

# Class: ContentComponent

## Hierarchy

 [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

**↳ ContentComponent**

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `OnDestroy`
* `RenderingContextProvider`

## Index

### Constructors

* [constructor](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

### Properties

* [id](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [layoutMode](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [levels](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onComponent](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onLayoutMode](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onRenderingContext](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onState](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

### Accessors

* [onAfterContentChecked](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onAfterContentInit](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onAfterViewChecked](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onAfterViewInit](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onDoCheck](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onOnChanges](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onOnDestroy](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [onOnInit](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

### Methods

* [describeSetter](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngAfterContentChecked](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngAfterContentInit](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngAfterViewChecked](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngAfterViewInit](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngDoCheck](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngOnChanges](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngOnDestroy](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [ngOnInit](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [safeSubscribe](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)
* [unsubscribeOnDestroy](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ContentComponent**(aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [ContentComponent](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

*Defined in components/content/content.component.ts:81*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [ContentComponent](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

___

## Properties

<a id="id"></a>

###  id

**● id**: *`string`*

*Defined in components/content/content.component.ts:44*

___
<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Defined in components/content/content.component.ts:52*

___
<a id="levels"></a>

###  levels

**● levels**: *`string` \| `number` \| `null` \| `undefined`*

*Defined in components/content/content.component.ts:58*

___
<a id="oncomponent"></a>

###  onComponent

**● onComponent**: *`ReplaySubject`<`any`>* =  createSingleSubject()

*Defined in components/content/content.component.ts:70*

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Defined in components/content/content.component.ts:76*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Defined in components/content/content.component.ts:64*

___
<a id="onstate"></a>

###  onState

**● onState**: *`Observable`<[ComponentState](#_47a4e4e6301d50fbcfa72c9789a371bf69f93da3df6d3436dc42d4ddb74e8511)>*

*Defined in components/content/content.component.ts:81*

The component state

___

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/content/content.component.ts:154*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/contentquery/contentquery.component"](#_93f6b97f4607102d6f3bbacce22cf2e0ca8662d6aa4406b243bb7e0706019732) > [ContentQueryComponent](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

# Class: ContentQueryComponent

## Hierarchy

 [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

**↳ ContentQueryComponent**

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `AfterViewInit`
* `OnDestroy`

## Index

### Constructors

* [constructor](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

### Properties

* [layoutMode](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [levels](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onLayoutMode](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onNumFound](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onRenderingContexts](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [query](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

### Accessors

* [onAfterContentChecked](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onAfterContentInit](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onAfterViewChecked](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onAfterViewInit](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onDoCheck](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onOnChanges](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onOnDestroy](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [onOnInit](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

### Methods

* [describeSetter](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngAfterContentChecked](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngAfterContentInit](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngAfterViewChecked](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngAfterViewInit](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngDoCheck](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngOnChanges](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngOnDestroy](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [ngOnInit](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [safeSubscribe](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)
* [unsubscribeOnDestroy](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ContentQueryComponent**(aRenderer: *`Renderer2`*, aElement: *`ElementRef`*, aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [ContentQueryComponent](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

*Defined in components/contentquery/contentquery.component.ts:82*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aRenderer | `Renderer2` |
| aElement | `ElementRef` |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [ContentQueryComponent](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

___

## Properties

<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Defined in components/contentquery/contentquery.component.ts:57*

___
<a id="levels"></a>

###  levels

**● levels**: *`string` \| `number` \| `null` \| `undefined`*

*Defined in components/contentquery/contentquery.component.ts:67*

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Defined in components/contentquery/contentquery.component.ts:72*

___
<a id="onnumfound"></a>

###  onNumFound

**● onNumFound**: *`Observable`<`number`>*

*Defined in components/contentquery/contentquery.component.ts:82*

___
<a id="onrenderingcontexts"></a>

###  onRenderingContexts

**● onRenderingContexts**: *`Observable`<`RenderingContext`[]>*

*Defined in components/contentquery/contentquery.component.ts:77*

___
<a id="query"></a>

###  query

**● query**: *[QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)*

*Defined in components/contentquery/contentquery.component.ts:62*

___

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/contentquery/contentquery.component.ts:195*

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/contentquery/contentquery.component.ts:200*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/contentref/contentref.component"](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323) > [ContentrefComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

# Class: ContentrefComponent

## Hierarchy

↳  [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

**↳ ContentrefComponent**

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `OnDestroy`
* `RenderingContextProvider`
* `OnDestroy`

## Index

### Constructors

* [constructor](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

### Properties

* [_id](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [cycleHandlingStrategy](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [layoutMode](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onLayoutMode](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onRenderingContext](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onState](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onType](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [renderingContext](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

### Accessors

* [context](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onAfterContentChecked](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onAfterContentInit](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onAfterViewChecked](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onAfterViewInit](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onDoCheck](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onOnChanges](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onOnDestroy](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [onOnInit](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

### Methods

* [describeSetter](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngAfterContentChecked](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngAfterContentInit](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngAfterViewChecked](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngAfterViewInit](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngDoCheck](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngOnChanges](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngOnDestroy](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [ngOnInit](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [safeSubscribe](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [trackByComponentId](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)
* [unsubscribeOnDestroy](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ContentrefComponent**(aCmp: *[ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)*, aMapping: *[LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)*, aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [ContentrefComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

*Overrides [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[constructor](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/contentref/contentref.component.ts:122*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aCmp | [ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5) |
| aMapping | [LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5) |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [ContentrefComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

___

## Properties

<a id="_id"></a>

### `<Protected>` _id

**● _id**: *`string`*

*Inherited from [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[_id](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/rendering/abstract-rendering.component.ts:34*

___
<a id="cyclehandlingstrategy"></a>

### `<Optional>` cycleHandlingStrategy

**● cycleHandlingStrategy**: *`CYCLE_HANDLING` \| `string`*

*Defined in components/contentref/contentref.component.ts:97*

___
<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Overrides [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[layoutMode](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/contentref/contentref.component.ts:107*

___
<a id="oncomponent"></a>

###  onComponent

**● onComponent**: *`ReplaySubject`<`any`>* =  createSingleSubject()

*Defined in components/contentref/contentref.component.ts:112*

Output that will be triggered when a new component was created

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Inherited from [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[onLayoutMode](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/rendering/abstract-rendering.component.ts:44*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Inherited from [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[onRenderingContext](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/rendering/abstract-rendering.component.ts:39*

___
<a id="onstate"></a>

###  onState

**● onState**: *`Observable`<[ComponentState](#_d4bdb3fb4a00ecb7412c6cd2ee6c8884166d1f5097dbf0917fec6e8434383323)>*

*Defined in components/contentref/contentref.component.ts:122*

The component state

___
<a id="ontype"></a>

###  onType

**● onType**: *`Observable`<`ComponentTypeRef`<`any`>>*

*Defined in components/contentref/contentref.component.ts:117*

The current type to render

___
<a id="renderingcontext"></a>

###  renderingContext

**● renderingContext**: *`RenderingContext`*

*Overrides [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[renderingContext](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/contentref/contentref.component.ts:102*

___

## Accessors

<a id="context"></a>

### `<Protected>` context

**get context**(): `Observable`<`RenderingContext`>

*Inherited from [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[context](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/rendering/abstract-rendering.component.ts:141*

**Returns:** `Observable`<`RenderingContext`>

___
<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[ngOnDestroy](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/contentref/contentref.component.ts:184*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="trackbycomponentid"></a>

###  trackByComponentId

▸ **trackByComponentId**(aIndex: *`number`*, aRenderingContext: *`RenderingContext`*): `string`

*Inherited from [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6).[trackByComponentId](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)*

*Defined in components/rendering/abstract-rendering.component.ts:153*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aIndex | `number` |
| aRenderingContext | `RenderingContext` |

**Returns:** `string`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/components/components.service"](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc) > [ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)

# Class: ComponentsService

## Hierarchy

**ComponentsService**

## Implements

* `OnDestroy`

## Index

### Constructors

* [constructor](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)

### Properties

* [getTypeByLayout](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)
* [getTypeBySelector](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)
* [ngOnDestroy](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)
* [registerType](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)
* [DEFAULT_LAYOUT](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)
* [PAGE_NOT_FOUND_LAYOUT](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ComponentsService**(markupService: *[MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)*): [ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)

*Defined in services/components/components.service.ts:321*

**Parameters:**

| Name | Type |
| ------ | ------ |
| markupService | [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0) |

**Returns:** [ComponentsService](#_44559e541df423caaedc0e00981de994db77ff606c92cd4f83d918fa0d8996d5)

___

## Properties

<a id="gettypebylayout"></a>

###  getTypeByLayout

**● getTypeByLayout**: *`function`*

*Defined in services/components/components.service.ts:301*

#### Type declaration
▸(aLayout: *`Layout`*, aLayoutMode?: *`string`*): `Observable`<`ComponentTypeRef`<`any`>>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aLayout | `Layout` |
| `Optional` aLayoutMode | `string` |

**Returns:** `Observable`<`ComponentTypeRef`<`any`>>

___
<a id="gettypebyselector"></a>

###  getTypeBySelector

**● getTypeBySelector**: *`function`*

*Defined in services/components/components.service.ts:313*

#### Type declaration
▸(aSelector: *`string`*, aLayoutMode?: *`string`*): `Observable`<`ComponentTypeRef`<`any`>>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSelector | `string` |
| `Optional` aLayoutMode | `string` |

**Returns:** `Observable`<`ComponentTypeRef`<`any`>>

___
<a id="ngondestroy"></a>

###  ngOnDestroy

**● ngOnDestroy**: *`function`*

*Defined in services/components/components.service.ts:321*

#### Type declaration
▸(): `void`

**Returns:** `void`

___
<a id="registertype"></a>

###  registerType

**● registerType**: *`function`*

*Defined in services/components/components.service.ts:288*

#### Type declaration
▸(aController: *`string` \| `string`[]*, aType: *`ComponentTypeRef`<`any`>*, aLayoutModes?: *`string` \| `string`[]*): `void`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aController | `string` \| `string`[] |
| aType | `ComponentTypeRef`<`any`> |
| `Optional` aLayoutModes | `string` \| `string`[] |

**Returns:** `void`

___
<a id="default_layout"></a>

### `<Static>` DEFAULT_LAYOUT

**● DEFAULT_LAYOUT**: *"wch-default-layout"* =  _DEFAULT_LAYOUT

*Defined in services/components/components.service.ts:280*

___
<a id="page_not_found_layout"></a>

### `<Static>` PAGE_NOT_FOUND_LAYOUT

**● PAGE_NOT_FOUND_LAYOUT**: *"wch-404"* =  _PAGE_NOT_FOUND_LAYOUT

*Defined in services/components/components.service.ts:285*

___


<a name="_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/mappings/mappings.service"](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) > [LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)

# Class: LayoutMappingService

## Hierarchy

**LayoutMappingService**

## Implements

* `OnDestroy`

## Index

### Constructors

* [constructor](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)

### Properties

* [getSelector](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)
* [ngOnDestroy](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)
* [registerMapping](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new LayoutMappingService**(): [LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)

*Defined in services/mappings/mappings.service.ts:302*

**Returns:** [LayoutMappingService](#_0efea8f98ae5bd0fc42efa996c222e6f35d71ed7896f69483210323813b14be5)

___

## Properties

<a id="getselector"></a>

###  getSelector

**● getSelector**: *`function`*

*Defined in services/mappings/mappings.service.ts:294*

#### Type declaration
▸(aLayoutMode: *`string`*, aRenderingContext: *`RenderingContext`*): `string` \| `undefined`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aLayoutMode | `string` |
| aRenderingContext | `RenderingContext` |

**Returns:** `string` \| `undefined`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

**● ngOnDestroy**: *`function`*

*Defined in services/mappings/mappings.service.ts:302*

#### Type declaration
▸(): `void`

**Returns:** `void`

___
<a id="registermapping"></a>

###  registerMapping

**● registerMapping**: *`function`*

*Defined in services/mappings/mappings.service.ts:281*

#### Type declaration
▸(aId: *`string` \| `string`[]*, aSelector: *`string` \| `string`[] \| `Type`<`any`>*, aLayoutMode?: *`string` \| `string`[]*): `void`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aId | `string` \| `string`[] |
| aSelector | `string` \| `string`[] \| `Type`<`any`> |
| `Optional` aLayoutMode | `string` \| `string`[] |

**Returns:** `void`

___


<a name="_41403aea3ab9a143f1db8e4996535c87daa0e3b48ebf672296a701eeccc833a9"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/default/default.component"](#_e1325aefe2a16738536ab4b0fa51dda3f14d71c94d451451370c84435a5906d6) > [DefaultComponent](#_41403aea3ab9a143f1db8e4996535c87daa0e3b48ebf672296a701eeccc833a9)

# Class: DefaultComponent

## Hierarchy

**DefaultComponent**

## Index

---


<a name="_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/page/page.component"](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0) > [PageComponent](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

# Class: PageComponent

## Hierarchy

↳  [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

**↳ PageComponent**

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `RenderingContextProvider`
* `OnDestroy`
* `RenderingContextProvider`

## Index

### Constructors

* [constructor](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

### Properties

* [layoutMode](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onComponent](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onLayoutMode](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onRenderingContext](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onState](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

### Accessors

* [onAfterContentChecked](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onAfterContentInit](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onAfterViewChecked](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onAfterViewInit](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onDoCheck](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onOnChanges](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onOnDestroy](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [onOnInit](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

### Methods

* [describeSetter](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngAfterContentChecked](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngAfterContentInit](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngAfterViewChecked](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngAfterViewInit](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngDoCheck](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngOnChanges](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngOnDestroy](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [ngOnInit](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [safeSubscribe](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)
* [unsubscribeOnDestroy](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new PageComponent**(aRoute: *`ActivatedRoute`*, aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*, aTitleService: *`Title`*, aMetaService: *`Meta`*): [PageComponent](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[constructor](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/page/page.component.ts:170*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aRoute | `ActivatedRoute` |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |
| aTitleService | `Title` |
| aMetaService | `Meta` |

**Returns:** [PageComponent](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

___

## Properties

<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Inherited from [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[layoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/rendering/abstract-base.component.ts:40*

___
<a id="oncomponent"></a>

###  onComponent

**● onComponent**: *`ReplaySubject`<`any`>* =  createSingleSubject()

*Defined in components/page/page.component.ts:165*

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[onLayoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/page/page.component.ts:154*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[onRenderingContext](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/page/page.component.ts:160*

___
<a id="onstate"></a>

###  onState

**● onState**: *`Observable`<[ComponentState](#_911d33c863077534dee621b06218200366ea08dab1a4f026b3624011b99e7ab0)>*

*Defined in components/page/page.component.ts:170*

The component state

___

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/page/page.component.ts:217*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/pageref/pageref.component"](#_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c) > [PagerefComponent](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

# Class: PagerefComponent

## Hierarchy

 [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

**↳ PagerefComponent**

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `OnDestroy`
* `RenderingContextProvider`

## Index

### Constructors

* [constructor](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

### Properties

* [layoutMode](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [levels](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onComponent](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onLayoutMode](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onRenderingContext](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onState](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [sitePage](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

### Accessors

* [onAfterContentChecked](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onAfterContentInit](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onAfterViewChecked](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onAfterViewInit](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onDoCheck](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onOnChanges](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onOnDestroy](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [onOnInit](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

### Methods

* [describeSetter](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngAfterContentChecked](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngAfterContentInit](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngAfterViewChecked](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngAfterViewInit](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngDoCheck](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngOnChanges](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngOnDestroy](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [ngOnInit](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [safeSubscribe](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)
* [unsubscribeOnDestroy](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new PagerefComponent**(aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [PagerefComponent](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

*Defined in components/pageref/pageref.component.ts:73*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [PagerefComponent](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

___

## Properties

<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Defined in components/pageref/pageref.component.ts:48*

___
<a id="levels"></a>

###  levels

**● levels**: *`string` \| `number` \| `null` \| `undefined`*

*Defined in components/pageref/pageref.component.ts:53*

___
<a id="oncomponent"></a>

###  onComponent

**● onComponent**: *`ReplaySubject`<`any`>* =  createSingleSubject<any>()

*Defined in components/pageref/pageref.component.ts:63*

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Defined in components/pageref/pageref.component.ts:68*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Defined in components/pageref/pageref.component.ts:58*

___
<a id="onstate"></a>

###  onState

**● onState**: *`Observable`<[ComponentState](#_b38a9c2426d197e2101c4f28ad6dc39d55c5ac9d09517fb2ba622d44ca90d71c)>*

*Defined in components/pageref/pageref.component.ts:73*

The component state

___
<a id="sitepage"></a>

###  sitePage

**● sitePage**: *`SitePage`*

*Defined in components/pageref/pageref.component.ts:41*

___

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/pageref/pageref.component.ts:152*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/path/content.path.component"](#_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e) > [ContentPathComponent](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

# Class: ContentPathComponent

## Hierarchy

↳  [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

**↳ ContentPathComponent**

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `RenderingContextProvider`
* `OnDestroy`
* `RenderingContextProvider`

## Index

### Constructors

* [constructor](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

### Properties

* [layoutMode](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [levels](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onComponent](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onLayoutMode](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onPath](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onRenderingContext](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onState](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [path](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

### Accessors

* [onAfterContentChecked](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onAfterContentInit](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onAfterViewChecked](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onAfterViewInit](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onDoCheck](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onOnChanges](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onOnDestroy](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [onOnInit](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

### Methods

* [describeSetter](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngAfterContentChecked](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngAfterContentInit](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngAfterViewChecked](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngAfterViewInit](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngDoCheck](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngOnChanges](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngOnDestroy](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [ngOnInit](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [safeSubscribe](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)
* [unsubscribeOnDestroy](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ContentPathComponent**(aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [ContentPathComponent](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[constructor](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/path/content.path.component.ts:67*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [ContentPathComponent](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

___

## Properties

<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Inherited from [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[layoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/rendering/abstract-base.component.ts:40*

___
<a id="levels"></a>

###  levels

**● levels**: *`string` \| `number` \| `null` \| `undefined`*

*Defined in components/path/content.path.component.ts:52*

___
<a id="oncomponent"></a>

###  onComponent

**● onComponent**: *`EventEmitter`<`any`>* =  new EventEmitter<any>()

*Defined in components/path/content.path.component.ts:47*

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[onLayoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/path/content.path.component.ts:36*

___
<a id="onpath"></a>

###  onPath

**● onPath**: *`Observable`<`string`>*

*Defined in components/path/content.path.component.ts:62*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[onRenderingContext](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/path/content.path.component.ts:42*

___
<a id="onstate"></a>

###  onState

**● onState**: *`Observable`<[ComponentState](#_64905140e71b82e994572a474691f29febfc8f676415ede01c6aff91ebb6d74e)>*

*Defined in components/path/content.path.component.ts:67*

The component state

___
<a id="path"></a>

###  path

**● path**: *`string`*

*Defined in components/path/content.path.component.ts:57*

___

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/path/content.path.component.ts:122*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/rendering/abstract-base.component"](#_d2f8cc6d2576983326e6074110c719555b34559b370fa672500b867df69dc64d) > [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

# Class: AbstractBaseComponent

## Hierarchy

 [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

**↳ AbstractBaseComponent**

↳  [PageComponent](#_a3a60340e89f84d6a53f0f77f57737a31a7a6ce8e73eac4796b560d37216f4ea)

↳  [ContentPathComponent](#_9bde73b8b05717e1aea7014c07ada439991e2624776bbd5aac12b085e4a81f59)

↳  [SiteComponent](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `RenderingContextProvider`

## Index

### Constructors

* [constructor](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

### Properties

* [layoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onLayoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onRenderingContext](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

### Accessors

* [onAfterContentChecked](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onAfterContentInit](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onAfterViewChecked](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onAfterViewInit](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onDoCheck](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onOnChanges](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onOnDestroy](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [onOnInit](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

### Methods

* [describeSetter](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngAfterContentChecked](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngAfterContentInit](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngAfterViewChecked](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngAfterViewInit](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngDoCheck](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngOnChanges](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngOnDestroy](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [ngOnInit](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [safeSubscribe](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)
* [unsubscribeOnDestroy](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new AbstractBaseComponent**(): [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

*Defined in components/rendering/abstract-base.component.ts:40*

**Returns:** [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

___

## Properties

<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Defined in components/rendering/abstract-base.component.ts:40*

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Defined in components/rendering/abstract-base.component.ts:33*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Defined in components/rendering/abstract-base.component.ts:28*

___

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:281*

*__see__*: OnDestroy

*__override__*: 

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/rendering/abstract-rendering.component"](#_ac54ba022492debe11f810df44e5b6c94152d29d7ffc2722cff7fd2cf20c3162) > [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

# Class: AbstractRenderingComponent

## Hierarchy

 [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

**↳ AbstractRenderingComponent**

↳  [ContentrefComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f)

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `OnDestroy`
* `RenderingContextProvider`

## Index

### Constructors

* [constructor](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

### Properties

* [_id](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [layoutMode](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onLayoutMode](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onRenderingContext](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [renderingContext](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

### Accessors

* [context](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onAfterContentChecked](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onAfterContentInit](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onAfterViewChecked](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onAfterViewInit](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onDoCheck](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onOnChanges](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onOnDestroy](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [onOnInit](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

### Methods

* [describeSetter](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngAfterContentChecked](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngAfterContentInit](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngAfterViewChecked](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngAfterViewInit](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngDoCheck](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngOnChanges](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngOnDestroy](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [ngOnInit](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [safeSubscribe](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [trackByComponentId](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)
* [unsubscribeOnDestroy](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new AbstractRenderingComponent**(): [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

*Defined in components/rendering/abstract-rendering.component.ts:54*

**Returns:** [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

___

## Properties

<a id="_id"></a>

### `<Protected>` _id

**● _id**: *`string`*

*Defined in components/rendering/abstract-rendering.component.ts:34*

___
<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Defined in components/rendering/abstract-rendering.component.ts:54*

The current layout mode for convenience

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Defined in components/rendering/abstract-rendering.component.ts:44*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Defined in components/rendering/abstract-rendering.component.ts:39*

___
<a id="renderingcontext"></a>

###  renderingContext

**● renderingContext**: *`RenderingContext`*

*Defined in components/rendering/abstract-rendering.component.ts:49*

The current rendering context for convenience

___

## Accessors

<a id="context"></a>

### `<Protected>` context

**get context**(): `Observable`<`RenderingContext`>

*Defined in components/rendering/abstract-rendering.component.ts:141*

**Returns:** `Observable`<`RenderingContext`>

___
<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract-rendering.component.ts:162*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="trackbycomponentid"></a>

###  trackByComponentId

▸ **trackByComponentId**(aIndex: *`number`*, aRenderingContext: *`RenderingContext`*): `string`

*Defined in components/rendering/abstract-rendering.component.ts:153*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aIndex | `number` |
| aRenderingContext | `RenderingContext` |

**Returns:** `string`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/rendering/abstract.lifecycle.component"](#_c0b8429450c6b33ccfb624a1b1b619c05255dee090b5200a307e6d294e256100) > [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

# Class: AbstractLifeCycleComponent

Base class that allows to register life cycle hooks. This class is supposed to be subclassed before use.

The 'ngXXX' methods override the methods from the Angular life cycle interfaces. If you overridde any of these methods make sure to call the super method.

The 'onXXX' methods expose observables that will be triggered when the life cycle method occurs. This is a convenient way to register hooks in the constructor of a subclass without having to override any method.

The {@link #onOnDestroy} observable is especially useful, since it can be used as a termination signal for automatic unsubscriptions via the [http://reactivex.io/documentation/operators/takeuntil.html](http://reactivex.io/documentation/operators/takeuntil.html) operation.

Note that hooks such as `onOnInit` and `onOnDestroy` only fire once. If you depend on such a hook in an observable chain more than once make sure to share the emissions (typically via `shareReplay` )

## Hierarchy

**AbstractLifeCycleComponent**

↳  [ContentComponent](#_ecaad4d5f5a90c365671c6a0b54200131586bdf3ae403ea2e66d12883c280761)

↳  [ContentQueryComponent](#_fd5e8e52d33d25ae2e9c298aa4590cf69c5bb39c8436487f93f8fb359991a1dd)

↳  [AbstractRenderingComponent](#_30696251135ebe1047ff63b66e6e4ff3a9a6e3ae2d0967346db7d658bd1f22c6)

↳  [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

↳  [PagerefComponent](#_5172056ae78cc46e6e8825b3cf0e2eaac49fc951ae1b123fbaca3ec1a78fc338)

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`

## Index

### Accessors

* [onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

### Methods

* [describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)
* [unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)

---

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:281*

*__see__*: OnDestroy

*__override__*: 

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["components/site/site.component"](#_8565e40ce385f5912f89e5943ebb8c8e326f762be872a9bf2ec4b2c24c78bc0c) > [SiteComponent](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

# Class: SiteComponent

## Hierarchy

↳  [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)

**↳ SiteComponent**

## Implements

* `OnInit`
* `OnDestroy`
* `OnChanges`
* `DoCheck`
* `AfterContentInit`
* `AfterContentChecked`
* `AfterViewInit`
* `AfterViewChecked`
* `RenderingContextProvider`
* `OnDestroy`
* `RenderingContextProvider`

## Index

### Constructors

* [constructor](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

### Properties

* [layoutMode](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onComponent](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onLayoutMode](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onRenderingContext](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

### Accessors

* [onAfterContentChecked](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onAfterContentInit](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onAfterViewChecked](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onAfterViewInit](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onDoCheck](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onOnChanges](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onOnDestroy](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [onOnInit](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

### Methods

* [describeSetter](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngAfterContentChecked](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngAfterContentInit](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngAfterViewChecked](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngAfterViewInit](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngDoCheck](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngOnChanges](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngOnDestroy](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [ngOnInit](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [safeSubscribe](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)
* [unsubscribeOnDestroy](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SiteComponent**(aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [SiteComponent](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[constructor](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/site/site.component.ts:34*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [SiteComponent](#_4fc286c5cd30967ab611e59b2c1952d9e3e028db3b0a2a173193fc4a948a1491)

___

## Properties

<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Inherited from [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[layoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/rendering/abstract-base.component.ts:40*

___
<a id="oncomponent"></a>

###  onComponent

**● onComponent**: *`EventEmitter`<`any`>* =  new EventEmitter<any>()

*Defined in components/site/site.component.ts:34*

___
<a id="onlayoutmode"></a>

###  onLayoutMode

**● onLayoutMode**: *`Observable`<`string`>*

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[onLayoutMode](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/site/site.component.ts:23*

___
<a id="onrenderingcontext"></a>

###  onRenderingContext

**● onRenderingContext**: *`Observable`<`RenderingContext`>*

*Overrides [AbstractBaseComponent](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0).[onRenderingContext](#_6e3ce50dab11e8c2589dac1728b2353fb3291d9d1f2361ae5f30bfc22232e4d0)*

*Defined in components/site/site.component.ts:29*

___

## Accessors

<a id="onaftercontentchecked"></a>

### `<Protected>` onAfterContentChecked

**get onAfterContentChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:307*

*__see__*: AfterContentChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onaftercontentinit"></a>

### `<Protected>` onAfterContentInit

**get onAfterContentInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:315*

*__see__*: AfterContentInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewchecked"></a>

### `<Protected>` onAfterViewChecked

**get onAfterViewChecked**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:291*

*__see__*: AfterViewChecked

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="onafterviewinit"></a>

### `<Protected>` onAfterViewInit

**get onAfterViewInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:299*

*__see__*: AfterViewInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ondocheck"></a>

### `<Protected>` onDoCheck

**get onDoCheck**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:323*

*__see__*: DoCheck

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononchanges"></a>

### `<Protected>` onOnChanges

**get onOnChanges**(): `Observable`<`SimpleChanges`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:331*

*__see__*: OnChanges

**Returns:** `Observable`<`SimpleChanges`>
the observable representation of this callback

___
<a id="onondestroy"></a>

### `<Protected>` onOnDestroy

**get onOnDestroy**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:347*

*__see__*: OnDestroy

**Returns:** `Observable`<`void`>
the observable representation of this callback

___
<a id="ononinit"></a>

### `<Protected>` onOnInit

**get onOnInit**(): `Observable`<`void`>

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[onOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:339*

*__see__*: OnInit

**Returns:** `Observable`<`void`>
the observable representation of this callback

___

## Methods

<a id="describesetter"></a>

### `<Protected>` describeSetter

▸ **describeSetter**<`T`>(aSubject: *`Subject`<`T`>*): `PropertyDescriptor`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[describeSetter](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:374*

Returns a property descriptor for a setter that dispatches to the given subject. The subject will automatically be completed and unsubscribed on the onDestroy method. The resulting descriptor may be used to define input properties in the closure of the constructor of a component.

*__deprecated__*: use createSetter instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubject | `Subject`<`T`> |  the subject |

**Returns:** `PropertyDescriptor`
the property descriptor

___
<a id="ngaftercontentchecked"></a>

###  ngAfterContentChecked

▸ **ngAfterContentChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:241*

*__see__*: AfterContentChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngaftercontentinit"></a>

###  ngAfterContentInit

▸ **ngAfterContentInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterContentInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:249*

*__see__*: AfterContentInit

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewchecked"></a>

###  ngAfterViewChecked

▸ **ngAfterViewChecked**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewChecked](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:225*

*__see__*: AfterViewChecked

*__override__*: 

**Returns:** `void`

___
<a id="ngafterviewinit"></a>

###  ngAfterViewInit

▸ **ngAfterViewInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngAfterViewInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:233*

*__see__*: AfterViewInit

*__override__*: 

**Returns:** `void`

___
<a id="ngdocheck"></a>

###  ngDoCheck

▸ **ngDoCheck**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngDoCheck](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:257*

*__see__*: DoCheck

*__override__*: 

**Returns:** `void`

___
<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnChanges](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:265*

*__see__*: OnChanges

*__override__*: 

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Overrides [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/site/site.component.ts:52*

**Returns:** `void`

___
<a id="ngoninit"></a>

###  ngOnInit

▸ **ngOnInit**(): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[ngOnInit](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:273*

*__see__*: OnInit

*__override__*: 

**Returns:** `void`

___
<a id="safesubscribe"></a>

###  safeSubscribe

▸ **safeSubscribe**<`T`>(aObservable: *`Subscribable`<`T`>*, aObserver?: *`PartialObserver`<`T`> \| `function` \| `string`*, error?: *`function`*, complete?: *`function`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[safeSubscribe](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:393*

Subscribes to an observable and makes sure to clean the subscription in ngOnDestroy to avoid memory leaks.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Type parameters:**

#### T 
**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aObservable | `Subscribable`<`T`> |  the observable to subscribe to |
| `Optional` aObserver | `PartialObserver`<`T`> \| `function` \| `string` |  the handler. If this value is a 'string', then the subscription will automatically update the respective property on the instance. |
| `Optional` error | `function` |  optional error handler |
| `Optional` complete | `function` |  optional completion handler |

**Returns:** `void`

___
<a id="unsubscribeondestroy"></a>

### `<Protected>` unsubscribeOnDestroy

▸ **unsubscribeOnDestroy**(aSubscription: *`Subscription`*): `void`

*Inherited from [AbstractLifeCycleComponent](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1).[unsubscribeOnDestroy](#_1d68250ccd7d29e6b65245905d231117abab5cd1603145c59fb63e9e784c56b1)*

*Defined in components/rendering/abstract.lifecycle.component.ts:359*

Unsubscribes the given subscription in the ngOnDestroy method. This method exists for convenience only, consider to use the {@link #safeSubscribe} method instead.

*__deprecated__*: use `takeUntil(onOnDestroy)` instead

**Parameters:**

| Name | Type | Description |
| ------ | ------ | ------ |
| aSubscription | `Subscription` |  the subscription to unsubscribe on |

**Returns:** `void`

___


<a name="_cfad2078216b60934ba047e7756310ce96a8b277734bcce56f01eb179896292e"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/bootstrap/rendering.context.bootstrap.directive"](#_8948ea36b56ab123d94936b1386f6ac14f94d1e28ee9def5efec035d20119e2b) > [ContentWithLayoutBootstrapDirective](#_cfad2078216b60934ba047e7756310ce96a8b277734bcce56f01eb179896292e)

# Interface: ContentWithLayoutBootstrapDirective

## Hierarchy

**ContentWithLayoutBootstrapDirective**

## Index

---


<a name="_f9744ec96d961616bfc31e49e7e758aa6175c00b0128b3ae319f3787e233561b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/bootstrap/site.bootstrap.directive"](#_a73ed924f1b42311d81cbb058ae092a396b2aeb2bbca001e2bb504ab145db021) > [SiteBootstrapDirective](#_f9744ec96d961616bfc31e49e7e758aa6175c00b0128b3ae319f3787e233561b)

# Interface: SiteBootstrapDirective

## Hierarchy

**SiteBootstrapDirective**

## Index

### Properties

* [siteId](#_f9744ec96d961616bfc31e49e7e758aa6175c00b0128b3ae319f3787e233561b)

---

## Properties

<a id="siteid"></a>

### `<Optional>` siteId

**● siteId**: *`string`*

*Defined in decorators/bootstrap/site.bootstrap.directive.ts:7*

___


<a name="_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/layout/layout.decorator"](#_02957062fcfbf461ed5ccd8a7f9836c823efd59c87959f546deba6ff8a2b6a5f) > [Binding](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)

# Interface: Binding

## Type parameters
#### T 
## Hierarchy

**Binding**

## Index

### Properties

* [name](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)
* [observable](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)
* [subscription](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)
* [value](#_4c29bde218f4bf34be1ce19bd44f6addcf0477387e9cec556f95fe35b23a90db)

---

## Properties

<a id="name"></a>

###  name

**● name**: *`string`*

*Defined in decorators/layout/layout.decorator.ts:57*

___
<a id="observable"></a>

###  observable

**● observable**: *`Observable`<`T`>*

*Defined in decorators/layout/layout.decorator.ts:58*

___
<a id="subscription"></a>

###  subscription

**● subscription**: *`Subscription`*

*Defined in decorators/layout/layout.decorator.ts:59*

___
<a id="value"></a>

###  value

**● value**: *`T`*

*Defined in decorators/layout/layout.decorator.ts:60*

___


<a name="_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/layout/layout.directive"](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287) > [LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)

# Interface: LayoutComponentDirective

## Hierarchy

**LayoutComponentDirective**

## Index

### Properties

* [componentFactoryResolver](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)
* [layoutMode](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)
* [mappingId](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)
* [selector](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)

---

## Properties

<a id="componentfactoryresolver"></a>

### `<Optional>` componentFactoryResolver

**● componentFactoryResolver**: *`ComponentFactoryResolver`*

*Defined in decorators/layout/layout.directive.ts:31*

The optional component factory resolver used to instantiate the component

___
<a id="layoutmode"></a>

### `<Optional>` layoutMode

**● layoutMode**: *`string` \| `string`[]*

*Defined in decorators/layout/layout.directive.ts:26*

___
<a id="mappingid"></a>

### `<Optional>` mappingId

**● mappingId**: *`string` \| `string`[]*

*Defined in decorators/layout/layout.directive.ts:21*

___
<a id="selector"></a>

### `<Optional>` selector

**● selector**: *`string` \| `string`[]*

*Defined in decorators/layout/layout.directive.ts:14*

___


<a name="_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["decorators/layout/layout.directive"](#_3e9ea7e177735653a8e716f7a5c2185aae65630cad40022153736ff0b97c5287) > [LayoutMappingDirective](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)

# Interface: LayoutMappingDirective

## Hierarchy

**LayoutMappingDirective**

## Index

### Properties

* [id](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)
* [kind](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)
* [layoutMode](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)
* [selector](#_dd2ac192dc95aa7664e5cb49814e4b539b4fd58d7cf942ea4aca7392814c8343)

---

## Properties

<a id="id"></a>

### `<Optional>` id

**● id**: *`string` \| `string`[]*

*Defined in decorators/layout/layout.directive.ts:58*

Type IDs or content IDs to map this to

___
<a id="kind"></a>

### `<Optional>` kind

**● kind**: *`CONTENT_ITEM_KIND` \| `CONTENT_ITEM_KIND`[]*

*Defined in decorators/layout/layout.directive.ts:63*

Type IDs to map this to

___
<a id="layoutmode"></a>

### `<Optional>` layoutMode

**● layoutMode**: *`string` \| `string`[]*

*Defined in decorators/layout/layout.directive.ts:53*

___
<a id="selector"></a>

### `<Optional>` selector

**● selector**: *`string` \| `string`[]*

*Defined in decorators/layout/layout.directive.ts:48*

___


<a name="_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["directives/contentref.directive"](#_39707403633e6a0f8128553bcb7f90d9abdfcb93b6c12c8ea94e9b9ee59efc65) > [ContentRefDirective](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)

# Class: ContentRefDirective

## Hierarchy

**ContentRefDirective**

## Implements

* `OnChanges`
* `OnDestroy`

## Index

### Constructors

* [constructor](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)

### Properties

* [_cc](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [_cr](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [_ct](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [_r](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [_viewContainerRef](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [cmpResolver](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [layoutMode](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [onComponent](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [renderingContext](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [wchContentRef](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)

### Methods

* [ngOnChanges](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)
* [ngOnDestroy](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ContentRefDirective**(_viewContainerRef: *`ViewContainerRef`*, _cmpResolver: *`ComponentFactoryResolver`*, _activatedRoute: *`ActivatedRoute`*): [ContentRefDirective](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)

*Defined in directives/contentref.directive.ts:83*

**Parameters:**

| Name | Type |
| ------ | ------ |
| _viewContainerRef | `ViewContainerRef` |
| _cmpResolver | `ComponentFactoryResolver` |
| _activatedRoute | `ActivatedRoute` |

**Returns:** [ContentRefDirective](#_c127581b0ec7ee9b5643c3a0e8a86188ab8869e89912f674b357b1cadcfd61c7)

___

## Properties

<a id="_cc"></a>

### `<Private>``<Optional>` _cc

**● _cc**: *`ComponentRef`<`any`>*

*Defined in directives/contentref.directive.ts:83*

The currently used component

___
<a id="_cr"></a>

### `<Private>``<Optional>` _cr

**● _cr**: *`ComponentFactoryResolver`*

*Defined in directives/contentref.directive.ts:73*

The currently used resolver

___
<a id="_ct"></a>

### `<Private>``<Optional>` _ct

**● _ct**: *`ComponentTypeRef`<`any`>*

*Defined in directives/contentref.directive.ts:78*

The currently used type

___
<a id="_r"></a>

### `<Private>` _r

**● _r**: *`ComponentFactoryResolver`*

*Defined in directives/contentref.directive.ts:68*

The default component factory resolver

___
<a id="_viewcontainerref"></a>

### `<Private>` _viewContainerRef

**● _viewContainerRef**: *`ViewContainerRef`*

*Defined in directives/contentref.directive.ts:86*

___
<a id="cmpresolver"></a>

###  cmpResolver

**● cmpResolver**: *`ComponentFactoryResolver`*

*Defined in directives/contentref.directive.ts:49*

___
<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Defined in directives/contentref.directive.ts:58*

___
<a id="oncomponent"></a>

###  onComponent

**● onComponent**: *`Subject`<`any`>* =  createSingleSubject()

*Defined in directives/contentref.directive.ts:63*

Output that will be triggered when a new component was created

___
<a id="renderingcontext"></a>

###  renderingContext

**● renderingContext**: *`RenderingContext`*

*Defined in directives/contentref.directive.ts:53*

___
<a id="wchcontentref"></a>

###  wchContentRef

**● wchContentRef**: *`ComponentTypeRef`<`any`>*

*Defined in directives/contentref.directive.ts:47*

___

## Methods

<a id="ngonchanges"></a>

###  ngOnChanges

▸ **ngOnChanges**(changes: *`SimpleChanges`*): `void`

*Defined in directives/contentref.directive.ts:98*

**Parameters:**

| Name | Type |
| ------ | ------ |
| changes | `SimpleChanges` |

**Returns:** `void`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Defined in directives/contentref.directive.ts:165*

**Returns:** `void`

___


<a name="_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["guards/root.page.guard"](#_bbe84b3cad7aca99fa17b914395d43d48b721e61c840dc93911b93fd4588c84f) > [SelectFirstRootPageGuard](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)

# Class: SelectFirstRootPageGuard

## Hierarchy

**SelectFirstRootPageGuard**

## Implements

* `CanActivate`

## Index

### Constructors

* [constructor](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)

### Properties

* [aRouter](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)
* [aSearchService](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)

### Methods

* [canActivate](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SelectFirstRootPageGuard**(aSearchService: *[SearchService](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)*, aRouter: *`Router`*): [SelectFirstRootPageGuard](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)

*Defined in guards/root.page.guard.ts:22*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSearchService | [SearchService](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38) |
| aRouter | `Router` |

**Returns:** [SelectFirstRootPageGuard](#_076ab8e048212220e106af2343506cbb86ab4db01e8b2e0ef563d89fe08dfbef)

___

## Properties

<a id="arouter"></a>

### `<Private>` aRouter

**● aRouter**: *`Router`*

*Defined in guards/root.page.guard.ts:23*

___
<a id="asearchservice"></a>

### `<Private>` aSearchService

**● aSearchService**: *[SearchService](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)*

*Defined in guards/root.page.guard.ts:23*

___

## Methods

<a id="canactivate"></a>

###  canActivate

▸ **canActivate**(route: *`ActivatedRouteSnapshot`*, state: *`RouterStateSnapshot`*): `Observable`<`boolean`>

*Defined in guards/root.page.guard.ts:25*

**Parameters:**

| Name | Type |
| ------ | ------ |
| route | `ActivatedRouteSnapshot` |
| state | `RouterStateSnapshot` |

**Returns:** `Observable`<`boolean`>

___


<a name="_8afd357245bfd29cc25994d60f4f16e570acdafdcfc097a1c92568a7f78a4f4b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["interfaces/hub-context"](#_ba19199f9baea72e5d4361f38c1803c8df9fb16c0971bae9fbbb3dc0b816e094) > [HubContext](#_8afd357245bfd29cc25994d60f4f16e570acdafdcfc097a1c92568a7f78a4f4b)

# Interface: HubContext

## Hierarchy

**HubContext**

## Index

### Properties

* [apiUrl](#_8afd357245bfd29cc25994d60f4f16e570acdafdcfc097a1c92568a7f78a4f4b)
* [deliveryUrl](#_8afd357245bfd29cc25994d60f4f16e570acdafdcfc097a1c92568a7f78a4f4b)
* [isPreviewMode](#_8afd357245bfd29cc25994d60f4f16e570acdafdcfc097a1c92568a7f78a4f4b)

---

## Properties

<a id="apiurl"></a>

###  apiUrl

**● apiUrl**: *`URL`*

*Defined in interfaces/hub-context.ts:10*

___
<a id="deliveryurl"></a>

###  deliveryUrl

**● deliveryUrl**: *`URL`*

*Defined in interfaces/hub-context.ts:17*

___
<a id="ispreviewmode"></a>

### `<Optional>` isPreviewMode

**● isPreviewMode**: *`boolean`*

*Defined in interfaces/hub-context.ts:22*

___


<a name="_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["module"](#_1e2adf2f10b7c6d3f1400cef07b9d1abad4253d5b94cfa77442f7094d1ed888d) > [WchNgModule](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3)

# Class: WchNgModule

## Hierarchy

**WchNgModule**

## Index

### Constructors

* [constructor](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3)

### Methods

* [forRoot](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new WchNgModule**(parentModule: *[WchNgModule](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3)*, loggerService: *[LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)*, depService: *[DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)*): [WchNgModule](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3)

*Defined in module.ts:145*

**Parameters:**

| Name | Type |
| ------ | ------ |
| parentModule | [WchNgModule](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3) |
| loggerService | [LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e) |
| depService | [DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6) |

**Returns:** [WchNgModule](#_4a35c9b24571a785b1f4fc71751b251cc2824947f718c8a7d46ba9a68ddb33a3)

___

## Methods

<a id="forroot"></a>

### `<Static>` forRoot

▸ **forRoot**(aService?: *`HubInfoConfig`*): `ModuleWithProviders`

*Defined in module.ts:55*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aService | `HubInfoConfig` |

**Returns:** `ModuleWithProviders`

___


<a name="_17eb895bcf08270214eb0b6ffbc83d320d56626555945699984c2d15c40dfdc8"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["modules/components.module"](#_ac395f8820e08b5a7b39bcf985084d84c19fe9e5a08bfaafcbc3a839960ddbbe) > [WchNgComponentsModule](#_17eb895bcf08270214eb0b6ffbc83d320d56626555945699984c2d15c40dfdc8)

# Class: WchNgComponentsModule

## Hierarchy

**WchNgComponentsModule**

## Index

---


<a name="_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["modules/services.module"](#_592bc31cea7e41c9a14b09ed740079f56fee2ee83bc91d3b963d6df2758cc23b) > [WchNgServicesModule](#_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d)

# Class: WchNgServicesModule

## Hierarchy

**WchNgServicesModule**

## Index

### Constructors

* [constructor](#_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new WchNgServicesModule**(parentModule: *[WchNgServicesModule](#_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d)*, loggerService: *[LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)*, depService: *[DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)*): [WchNgServicesModule](#_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d)

*Defined in modules/services.module.ts:18*

**Parameters:**

| Name | Type |
| ------ | ------ |
| parentModule | [WchNgServicesModule](#_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d) |
| loggerService | [LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e) |
| depService | [DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6) |

**Returns:** [WchNgServicesModule](#_dbe23617875848a9bebf25d96ed9d023d1699e374b7bb942c01dc5bce1b6047d)

___


<a name="_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/config/application.config.service"](#_477099d10fa76939ef984a7bef2a78677e3493a0f37f36694f63522553dac823) > [ApplicationConfigService](#_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf)

# Class: ApplicationConfigService

## Hierarchy

**ApplicationConfigService**

## Index

### Constructors

* [constructor](#_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf)

### Properties

* [wchService](#_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf)

### Accessors

* [appConfig](#_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ApplicationConfigService**(wchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [ApplicationConfigService](#_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf)

*Defined in services/config/application.config.service.ts:12*

**Parameters:**

| Name | Type |
| ------ | ------ |
| wchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [ApplicationConfigService](#_341e178f39e5c700cdb3b390e6cab5007abe66aef0c45e479106aff811c7b6cf)

___

## Properties

<a id="wchservice"></a>

### `<Private>` wchService

**● wchService**: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*

*Defined in services/config/application.config.service.ts:14*

___

## Accessors

<a id="appconfig"></a>

###  appConfig

**get appConfig**(): `Observable`<[ApplicationConfig](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)>

*Defined in services/config/application.config.service.ts:17*

**Returns:** `Observable`<[ApplicationConfig](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)>

___


<a name="_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/dependency.service"](#_67b62b5e3d9425c72d2712811b308d96ad30aaee92118beae53b51ecacd4b4c0) > [DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)

# Class: DependencyService

## Hierarchy

**DependencyService**

## Implements

* `OnDestroy`

## Index

### Constructors

* [constructor](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)

### Properties

* [_sdk](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)
* [ngOnDestroy](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)

### Accessors

* [sdk](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new DependencyService**(loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*, router: *`Router`*, urlsService: *[UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)*, wchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*, aInjector: *`Injector`*): [DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)

*Defined in services/dependency/dependency.service.ts:22*

**Parameters:**

| Name | Type |
| ------ | ------ |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |
| router | `Router` |
| urlsService | [UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237) |
| wchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |
| aInjector | `Injector` |

**Returns:** [DependencyService](#_6c56e017d661d07698b006d1c9ebe357378fdad6b0871d0ae40af314c1a4ffa6)

___

## Properties

<a id="_sdk"></a>

### `<Private>` _sdk

**● _sdk**: *[Sdk](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)*

*Defined in services/dependency/dependency.service.ts:22*

___
<a id="ngondestroy"></a>

###  ngOnDestroy

**● ngOnDestroy**: *`function`*

*Defined in services/dependency/dependency.service.ts:20*

#### Type declaration
▸(): `void`

**Returns:** `void`

___

## Accessors

<a id="sdk"></a>

###  sdk

**get sdk**(): [Sdk](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

*Defined in services/dependency/dependency.service.ts:85*

**Returns:** [Sdk](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

___


<a name="_fc924de3de6efe2dd7b9c49c17314b4c474593d6d138b2bef1f21221ce3b4c89"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.navigate.by.path.message"](#_4fd37deef1369440981c5bea10be009c10ed3c1af8bdfcaa9a6ba7f2ca527510) > [SdkNavigateByPathHandler](#_fc924de3de6efe2dd7b9c49c17314b4c474593d6d138b2bef1f21221ce3b4c89)

# Class: SdkNavigateByPathHandler

Executes a navigation event

## Hierarchy

**SdkNavigateByPathHandler**

## Implements

* `SdkMessageHandler`

## Index

### Constructors

* [constructor](#_fc924de3de6efe2dd7b9c49c17314b4c474593d6d138b2bef1f21221ce3b4c89)

### Properties

* [handle](#_fc924de3de6efe2dd7b9c49c17314b4c474593d6d138b2bef1f21221ce3b4c89)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkNavigateByPathHandler**(router: *`Router`*, loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*): [SdkNavigateByPathHandler](#_fc924de3de6efe2dd7b9c49c17314b4c474593d6d138b2bef1f21221ce3b4c89)

*Defined in services/dependency/message/sdk.navigate.by.path.message.ts:17*

**Parameters:**

| Name | Type |
| ------ | ------ |
| router | `Router` |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |

**Returns:** [SdkNavigateByPathHandler](#_fc924de3de6efe2dd7b9c49c17314b4c474593d6d138b2bef1f21221ce3b4c89)

___

## Properties

<a id="handle"></a>

###  handle

**● handle**: *`SdkMessageHandlerCallback`*

*Defined in services/dependency/message/sdk.navigate.by.path.message.ts:17*

___


<a name="_18f96bbab2dadf928666963f4ebb416a18c55794de542e773516f287fc4dc2fa"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.refresh.message"](#_d7de4cae77840961d9b97b0d122cca3903b74ad708939a072cc0b49e8b45f0f3) > [SdkRefreshHandler](#_18f96bbab2dadf928666963f4ebb416a18c55794de542e773516f287fc4dc2fa)

# Class: SdkRefreshHandler

Executes a refresh event

## Hierarchy

**SdkRefreshHandler**

## Implements

* `SdkMessageHandler`

## Index

### Constructors

* [constructor](#_18f96bbab2dadf928666963f4ebb416a18c55794de542e773516f287fc4dc2fa)

### Properties

* [handle](#_18f96bbab2dadf928666963f4ebb416a18c55794de542e773516f287fc4dc2fa)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkRefreshHandler**(refreshService: *[RefreshService](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a)*, loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*): [SdkRefreshHandler](#_18f96bbab2dadf928666963f4ebb416a18c55794de542e773516f287fc4dc2fa)

*Defined in services/dependency/message/sdk.refresh.message.ts:17*

**Parameters:**

| Name | Type |
| ------ | ------ |
| refreshService | [RefreshService](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a) |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |

**Returns:** [SdkRefreshHandler](#_18f96bbab2dadf928666963f4ebb416a18c55794de542e773516f287fc4dc2fa)

___

## Properties

<a id="handle"></a>

###  handle

**● handle**: *`SdkMessageHandlerCallback`*

*Defined in services/dependency/message/sdk.refresh.message.ts:17*

___


<a name="_2bc6041f8c754d40180456dbb486edf3d72e6878400269ec44419e21ca3ab7ec"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.set.mode.message"](#_bc66f3d00a388469ee53e6da7216c2f2e660edfbda4a4f7be4e01993954e8fc3) > [SdkSetModeHandler](#_2bc6041f8c754d40180456dbb486edf3d72e6878400269ec44419e21ca3ab7ec)

# Class: SdkSetModeHandler

Executes a navigation event

## Hierarchy

**SdkSetModeHandler**

## Implements

* `SdkMessageHandler`

## Index

### Constructors

* [constructor](#_2bc6041f8c754d40180456dbb486edf3d72e6878400269ec44419e21ca3ab7ec)

### Properties

* [handle](#_2bc6041f8c754d40180456dbb486edf3d72e6878400269ec44419e21ca3ab7ec)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkSetModeHandler**(loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*): [SdkSetModeHandler](#_2bc6041f8c754d40180456dbb486edf3d72e6878400269ec44419e21ca3ab7ec)

*Defined in services/dependency/message/sdk.set.mode.message.ts:17*

**Parameters:**

| Name | Type |
| ------ | ------ |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |

**Returns:** [SdkSetModeHandler](#_2bc6041f8c754d40180456dbb486edf3d72e6878400269ec44419e21ca3ab7ec)

___

## Properties

<a id="handle"></a>

###  handle

**● handle**: *`SdkMessageHandlerCallback`*

*Defined in services/dependency/message/sdk.set.mode.message.ts:17*

___


<a name="_ebc214290354b1dc8b81f5c9706ff3289105e95e404a95ba2de03dc596047502"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.message"](#_ed32045b8a1335725100c8f3211cce009cf23cd15c0d8bb97f32e798c9b3ac5a) > [SdkUnsubscribeHandler](#_ebc214290354b1dc8b81f5c9706ff3289105e95e404a95ba2de03dc596047502)

# Class: SdkUnsubscribeHandler

Subscribes to the active route

## Hierarchy

**SdkUnsubscribeHandler**

## Implements

* `SdkMessageHandler`

## Index

### Constructors

* [constructor](#_ebc214290354b1dc8b81f5c9706ff3289105e95e404a95ba2de03dc596047502)

### Properties

* [handle](#_ebc214290354b1dc8b81f5c9706ff3289105e95e404a95ba2de03dc596047502)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkUnsubscribeHandler**(loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*): [SdkUnsubscribeHandler](#_ebc214290354b1dc8b81f5c9706ff3289105e95e404a95ba2de03dc596047502)

*Defined in services/dependency/message/sdk.subscribe.message.ts:16*

**Parameters:**

| Name | Type |
| ------ | ------ |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |

**Returns:** [SdkUnsubscribeHandler](#_ebc214290354b1dc8b81f5c9706ff3289105e95e404a95ba2de03dc596047502)

___

## Properties

<a id="handle"></a>

###  handle

**● handle**: *`SdkMessageHandlerCallback`*

*Defined in services/dependency/message/sdk.subscribe.message.ts:16*

___


<a name="_fcee85d58e5fd6080781450ef8c5331d2e1cc60cce38662f888d67a80087bc32"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.active.route.message"](#_67ac5f1008dc1cfd24df6db181b04afb58fb521497d59b8a624c2569f8ce0298) > [SdkSubscribeActiveRouteHandler](#_fcee85d58e5fd6080781450ef8c5331d2e1cc60cce38662f888d67a80087bc32)

# Class: SdkSubscribeActiveRouteHandler

Subscribes to the active route

## Hierarchy

**SdkSubscribeActiveRouteHandler**

## Implements

* `SdkMessageHandler`

## Index

### Constructors

* [constructor](#_fcee85d58e5fd6080781450ef8c5331d2e1cc60cce38662f888d67a80087bc32)

### Properties

* [handle](#_fcee85d58e5fd6080781450ef8c5331d2e1cc60cce38662f888d67a80087bc32)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkSubscribeActiveRouteHandler**(activePageService: *[ActivePageService](#_e182e35b7919bd0933ba137c1e60c23113f55be95c4277ff8ded80323581cea3)*, loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*): [SdkSubscribeActiveRouteHandler](#_fcee85d58e5fd6080781450ef8c5331d2e1cc60cce38662f888d67a80087bc32)

*Defined in services/dependency/message/sdk.subscribe.active.route.message.ts:16*

**Parameters:**

| Name | Type |
| ------ | ------ |
| activePageService | [ActivePageService](#_e182e35b7919bd0933ba137c1e60c23113f55be95c4277ff8ded80323581cea3) |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |

**Returns:** [SdkSubscribeActiveRouteHandler](#_fcee85d58e5fd6080781450ef8c5331d2e1cc60cce38662f888d67a80087bc32)

___

## Properties

<a id="handle"></a>

###  handle

**● handle**: *`SdkMessageHandlerCallback`*

*Defined in services/dependency/message/sdk.subscribe.active.route.message.ts:16*

___


<a name="_52b267c0d508195419313ecc54f5d0cd846c6e351aa21f7e5ca394e6985c52a9"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.mode.message"](#_7605dc7b94d2d1ba7a21306eb6f45513c1d90ba160b198b28305345a9fd6038e) > [SdkSubscribeModeHandler](#_52b267c0d508195419313ecc54f5d0cd846c6e351aa21f7e5ca394e6985c52a9)

# Class: SdkSubscribeModeHandler

Subscribes to the active mode

## Hierarchy

**SdkSubscribeModeHandler**

## Implements

* `SdkMessageHandler`

## Index

### Constructors

* [constructor](#_52b267c0d508195419313ecc54f5d0cd846c6e351aa21f7e5ca394e6985c52a9)

### Properties

* [handle](#_52b267c0d508195419313ecc54f5d0cd846c6e351aa21f7e5ca394e6985c52a9)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkSubscribeModeHandler**(loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*): [SdkSubscribeModeHandler](#_52b267c0d508195419313ecc54f5d0cd846c6e351aa21f7e5ca394e6985c52a9)

*Defined in services/dependency/message/sdk.subscribe.mode.message.ts:16*

**Parameters:**

| Name | Type |
| ------ | ------ |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |

**Returns:** [SdkSubscribeModeHandler](#_52b267c0d508195419313ecc54f5d0cd846c6e351aa21f7e5ca394e6985c52a9)

___

## Properties

<a id="handle"></a>

###  handle

**● handle**: *`SdkMessageHandlerCallback`*

*Defined in services/dependency/message/sdk.subscribe.mode.message.ts:16*

___


<a name="_23f79f90e37024ef4d70d4250a2d092cc76ada1d3feab6def482a307a5682c31"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/message/sdk.subscribe.route.message"](#_2990dd0a23614c98f0573d749d8eb1dcf18fe37a52122b3035eba1b71dcfc94e) > [SdkSubscribeRouteHandler](#_23f79f90e37024ef4d70d4250a2d092cc76ada1d3feab6def482a307a5682c31)

# Class: SdkSubscribeRouteHandler

Subscribes to a given route

## Hierarchy

**SdkSubscribeRouteHandler**

## Implements

* `SdkMessageHandler`

## Index

### Constructors

* [constructor](#_23f79f90e37024ef4d70d4250a2d092cc76ada1d3feab6def482a307a5682c31)

### Properties

* [handle](#_23f79f90e37024ef4d70d4250a2d092cc76ada1d3feab6def482a307a5682c31)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkSubscribeRouteHandler**(wchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*, loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*): [SdkSubscribeRouteHandler](#_23f79f90e37024ef4d70d4250a2d092cc76ada1d3feab6def482a307a5682c31)

*Defined in services/dependency/message/sdk.subscribe.route.message.ts:18*

**Parameters:**

| Name | Type |
| ------ | ------ |
| wchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |

**Returns:** [SdkSubscribeRouteHandler](#_23f79f90e37024ef4d70d4250a2d092cc76ada1d3feab6def482a307a5682c31)

___

## Properties

<a id="handle"></a>

###  handle

**● handle**: *`SdkMessageHandlerCallback`*

*Defined in services/dependency/message/sdk.subscribe.route.message.ts:18*

___


<a name="_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/jsonp/jsonp"](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c) > [SdkJsonp](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

# Class: SdkJsonp

## Hierarchy

**SdkJsonp**

## Index

### Constructors

* [constructor](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

### Properties

* [addCallback](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)
* [callback](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)
* [destroy](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)
* [removeCallback](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkJsonp**(aDeps: *[SdkJsonpDependencies](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae)*): [SdkJsonp](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

*Defined in services/dependency/sdk/jsonp/jsonp.ts:113*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDeps | [SdkJsonpDependencies](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae) |

**Returns:** [SdkJsonp](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

___

## Properties

<a id="addcallback"></a>

###  addCallback

**● addCallback**: *`function`*

*Defined in services/dependency/sdk/jsonp/jsonp.ts:100*

#### Type declaration
▸(aUrl: *`string`*, aCallback: *[JsonpCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)*): `string`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| aCallback | [JsonpCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c) |

**Returns:** `string`

___
<a id="callback"></a>

###  callback

**● callback**: *[JsonpCallbacks](#_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177)*

*Defined in services/dependency/sdk/jsonp/jsonp.ts:91*

___
<a id="destroy"></a>

###  destroy

**● destroy**: *`function`*

*Defined in services/dependency/sdk/jsonp/jsonp.ts:113*

#### Type declaration
▸(): `void`

**Returns:** `void`

___
<a id="removecallback"></a>

###  removeCallback

**● removeCallback**: *`function`*

*Defined in services/dependency/sdk/jsonp/jsonp.ts:108*

#### Type declaration
▸(aDigest: *`string`*): `boolean`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDigest | `string` |

**Returns:** `boolean`

___


<a name="_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/jsonp/jsonp"](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c) > [JsonpCallbacks](#_630eb779c6a2fb94c7145468a315138d9fc2c95b6456cc0e8fb9da5d3b79e177)

# Interface: JsonpCallbacks

## Hierarchy

**JsonpCallbacks**

## Indexable

\[url: `string`\]:&nbsp;[JsonpCallback](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c)
## Index

---


<a name="_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/jsonp/jsonp"](#_e73b51b57bbb52f83d7b90aa9e81ec225fd1a869ba72c15312772340e6ee394c) > [SdkJsonpDependencies](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae)

# Interface: SdkJsonpDependencies

## Hierarchy

**SdkJsonpDependencies**

↳  [SdkDependencies](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)

## Index

### Properties

* [urlsService](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae)

---

## Properties

<a id="urlsservice"></a>

###  urlsService

**● urlsService**: *`UrlConfig`*

*Defined in services/dependency/sdk/jsonp/jsonp.ts:19*

___


<a name="_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/router/router"](#_ea2216930bca9af40708550f041b7546580a5f4f39fa2f17931fc2203a7b908b) > [SdkRouter](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

# Class: SdkRouter

## Hierarchy

**SdkRouter**

## Implements

* `WchSdkRouter`

## Index

### Constructors

* [constructor](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

### Properties

* [activeRenderingContext](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)
* [activeRoute](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)
* [destroy](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)
* [navigateByPath](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkRouter**(aDeps: *[SdkRouterDependencies](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8)*): [SdkRouter](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

*Defined in services/dependency/sdk/router/router.ts:37*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDeps | [SdkRouterDependencies](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8) |

**Returns:** [SdkRouter](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

___

## Properties

<a id="activerenderingcontext"></a>

###  activeRenderingContext

**● activeRenderingContext**: *`function`*

*Defined in services/dependency/sdk/router/router.ts:35*

#### Type declaration
▸(): `Observable`<`RenderingContext`>

**Returns:** `Observable`<`RenderingContext`>

___
<a id="activeroute"></a>

###  activeRoute

**● activeRoute**: *`function`*

*Defined in services/dependency/sdk/router/router.ts:28*

#### Type declaration
▸(): `Observable`<`SitePage`>

**Returns:** `Observable`<`SitePage`>

___
<a id="destroy"></a>

###  destroy

**● destroy**: *`function`*

*Defined in services/dependency/sdk/router/router.ts:37*

#### Type declaration
▸(): `void`

**Returns:** `void`

___
<a id="navigatebypath"></a>

###  navigateByPath

**● navigateByPath**: *`function`*

*Defined in services/dependency/sdk/router/router.ts:21*

#### Type declaration
▸(aPath: *`string`*): `PromiseLike`<`boolean`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aPath | `string` |

**Returns:** `PromiseLike`<`boolean`>

___


<a name="_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/router/router"](#_ea2216930bca9af40708550f041b7546580a5f4f39fa2f17931fc2203a7b908b) > [SdkRouterDependencies](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8)

# Interface: SdkRouterDependencies

## Hierarchy

**SdkRouterDependencies**

↳  [SdkDependencies](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)

## Index

### Properties

* [router](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8)

---

## Properties

<a id="router"></a>

###  router

**● router**: *`Router`*

*Defined in services/dependency/sdk/router/router.ts:15*

___


<a name="_5cefe6b4b575197ecce4a273b9478f22ef635d521230e18329457da14e251654"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/version"](#_05f06bb3482059fcddd8ddb706c4fa907d649be0b4277b119e5ba14dcf163b5c) > [SdkVersion](#_5cefe6b4b575197ecce4a273b9478f22ef635d521230e18329457da14e251654)

# Interface: SdkVersion

## Hierarchy

 `WchSdkVersion`

**↳ SdkVersion**

## Index

### Properties

* [build](#_5cefe6b4b575197ecce4a273b9478f22ef635d521230e18329457da14e251654)
* [version](#_5cefe6b4b575197ecce4a273b9478f22ef635d521230e18329457da14e251654)

---

## Properties

<a id="build"></a>

###  build

**● build**: *`Date`*

*Overrides WchSdkVersion.build*

*Defined in services/dependency/sdk/version.ts:9*

___
<a id="version"></a>

###  version

**● version**: *`Version`*

*Overrides WchSdkVersion.version*

*Defined in services/dependency/sdk/version.ts:8*

___


<a name="_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/sdk"](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3) > [Sdk](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

# Class: Sdk

## Hierarchy

**Sdk**

## Implements

* `WchSdk`

## Index

### Constructors

* [constructor](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

### Properties

* [destroy](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [refresh](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [sdkJsonp](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [sdkLogger](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [sdkRouter](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [sdkSearch](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [MODULE_NAME](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

### Accessors

* [jsonp](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [logger](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [router](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [search](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)
* [version](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new Sdk**(aDeps: *[SdkDependencies](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)*): [Sdk](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

*Defined in services/dependency/sdk/sdk.ts:54*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDeps | [SdkDependencies](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80) |

**Returns:** [Sdk](#_7c9d27d231eb96223c2ca83740f35495ff65ba2ba9e32b54526a675120450e14)

___

## Properties

<a id="destroy"></a>

###  destroy

**● destroy**: *`function`*

*Defined in services/dependency/sdk/sdk.ts:46*

#### Type declaration
▸(): `void`

**Returns:** `void`

___
<a id="refresh"></a>

###  refresh

**● refresh**: *`function`*

*Defined in services/dependency/sdk/sdk.ts:42*

#### Type declaration
▸(): `void`

**Returns:** `void`

___
<a id="sdkjsonp"></a>

### `<Private>` sdkJsonp

**● sdkJsonp**: *[SdkJsonp](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)*

*Defined in services/dependency/sdk/sdk.ts:50*

___
<a id="sdklogger"></a>

### `<Private>` sdkLogger

**● sdkLogger**: *`LoggerService`*

*Defined in services/dependency/sdk/sdk.ts:52*

___
<a id="sdkrouter"></a>

### `<Private>` sdkRouter

**● sdkRouter**: *[SdkRouter](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)*

*Defined in services/dependency/sdk/sdk.ts:48*

___
<a id="sdksearch"></a>

### `<Private>` sdkSearch

**● sdkSearch**: *[SdkSearch](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)*

*Defined in services/dependency/sdk/sdk.ts:54*

___
<a id="module_name"></a>

### `<Static>` MODULE_NAME

**● MODULE_NAME**: *"WchSdk"* =  _MODULE_NAME

*Defined in services/dependency/sdk/sdk.ts:35*

___

## Accessors

<a id="jsonp"></a>

###  jsonp

**get jsonp**(): [SdkJsonp](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

*Defined in services/dependency/sdk/sdk.ts:134*

**Returns:** [SdkJsonp](#_0a6780a884aa1a7e7273bf12706f36af3ae0e82e15151abf6334462c206c59f0)

___
<a id="logger"></a>

###  logger

**get logger**(): `LoggerService`

*Defined in services/dependency/sdk/sdk.ts:138*

**Returns:** `LoggerService`

___
<a id="router"></a>

###  router

**get router**(): [SdkRouter](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

*Defined in services/dependency/sdk/sdk.ts:130*

**Returns:** [SdkRouter](#_74cdd074375b01cdca4e17dad31643ea6661649ff298244acb0f66c589a56973)

___
<a id="search"></a>

###  search

**get search**(): [SdkSearch](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

*Defined in services/dependency/sdk/sdk.ts:142*

**Returns:** [SdkSearch](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

___
<a id="version"></a>

###  version

**get version**(): [SdkVersion](#_5cefe6b4b575197ecce4a273b9478f22ef635d521230e18329457da14e251654)

*Defined in services/dependency/sdk/sdk.ts:151*

**Returns:** [SdkVersion](#_5cefe6b4b575197ecce4a273b9478f22ef635d521230e18329457da14e251654)

___


<a name="_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/sdk"](#_d4d321cd2871f00f5abcece77da82e20ecdd4740e78ff32b0fece4614e8067e3) > [SdkDependencies](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)

# Interface: SdkDependencies

## Hierarchy

 [SdkRouterDependencies](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8)

 [SdkJsonpDependencies](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae)

 [SdkSearchDependencies](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962)

**↳ SdkDependencies**

## Index

### Properties

* [loggerService](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)
* [msgHandlers](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)
* [router](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)
* [urlsService](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)
* [wchService](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)

---

## Properties

<a id="loggerservice"></a>

###  loggerService

**● loggerService**: *`LoggerService`*

*Defined in services/dependency/sdk/sdk.ts:19*

___
<a id="msghandlers"></a>

###  msgHandlers

**● msgHandlers**: *`Generator`<`SdkMessageHandler`[]>*

*Defined in services/dependency/sdk/sdk.ts:23*

___
<a id="router"></a>

###  router

**● router**: *`Router`*

*Inherited from [SdkRouterDependencies](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8).[router](#_ff6478df4b948ab980a3b818e9a0ad5d101fb014b0c2dcbe037a9026a75565a8)*

*Defined in services/dependency/sdk/router/router.ts:15*

___
<a id="urlsservice"></a>

###  urlsService

**● urlsService**: *`UrlConfig`*

*Inherited from [SdkJsonpDependencies](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae).[urlsService](#_ea261c5c56de3f98361f1db58f5baea79d1287fc789a6e87781b546fc814ccae)*

*Defined in services/dependency/sdk/jsonp/jsonp.ts:19*

___
<a id="wchservice"></a>

###  wchService

**● wchService**: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*

*Overrides [SdkSearchDependencies](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962).[wchService](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962)*

*Defined in services/dependency/sdk/sdk.ts:21*

___


<a name="_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/http/http.service"](#_b76be65ae3d6fd4e3de5dc14af9402d197c151df703edbd4fa1828380df48646) > [WchHttpService](#_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf)

# Class: WchHttpService

## Hierarchy

**WchHttpService**

## Index

### Constructors

* [constructor](#_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf)

### Properties

* [getJsonResource](#_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf)
* [getTextResource](#_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new WchHttpService**(aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [WchHttpService](#_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf)

*Defined in services/http/http.service.ts:25*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [WchHttpService](#_676471eaaa9a8678f5617dcb313bccf17ca63d750bc38f725db628219fb0cbbf)

___

## Properties

<a id="getjsonresource"></a>

###  getJsonResource

**● getJsonResource**: *`function`*

*Defined in services/http/http.service.ts:17*

Fetches a JSON resource and keeps this live based on the given or the default options

*__param__*: the URL to fetch, this can be a relative URL in which case it applies to the correct base API URL

*__returns__*: an observable with the content

#### Type declaration
▸<`T`>(aUrl: *`string`*, aOptions?: *`HttpResourceOptions`*): `Observable`<`T`>

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| `Optional` aOptions | `HttpResourceOptions` |

**Returns:** `Observable`<`T`>

___
<a id="gettextresource"></a>

###  getTextResource

**● getTextResource**: *`function`*

*Defined in services/http/http.service.ts:25*

Fetches a string resource and keeps this live based on the given or the default options

*__param__*: the URL to fetch, this can be a relative URL in which case it applies to the correct base API URL

*__returns__*: an observable with the content

#### Type declaration
▸(aUrl: *`string`*, aOptions?: *`HttpResourceOptions`*): `Observable`<`string`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| `Optional` aOptions | `HttpResourceOptions` |

**Returns:** `Observable`<`string`>

___


<a name="_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/http/http.service.on.http.client"](#_bbf1a72512c3958c1ae1905b6b699afd6151de703126d3d655476f6b39dfa2ec) > [HttpServiceOnHttpClient](#_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806)

# Class: HttpServiceOnHttpClient

## Hierarchy

**HttpServiceOnHttpClient**

## Implements

* `HttpService`

## Index

### Constructors

* [constructor](#_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806)

### Properties

* [getJson](#_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806)
* [getText](#_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new HttpServiceOnHttpClient**(aHttpClient: *`HttpClient`*): [HttpServiceOnHttpClient](#_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806)

*Defined in services/http/http.service.on.http.client.ts:16*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aHttpClient | `HttpClient` |

**Returns:** [HttpServiceOnHttpClient](#_aae2add055428ec8732a5facce962e6d566af124ba2799065e39b5e634409806)

___

## Properties

<a id="getjson"></a>

###  getJson

**● getJson**: *`function`*

*Defined in services/http/http.service.on.http.client.ts:15*

#### Type declaration
▸<`T`>(aUrl: *`string`*, aOptions: *`HttpOptions`*): `Observable`<`T`>

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| aOptions | `HttpOptions` |

**Returns:** `Observable`<`T`>

___
<a id="gettext"></a>

###  getText

**● getText**: *`function`*

*Defined in services/http/http.service.on.http.client.ts:16*

#### Type declaration
▸(aUrl: *`string`*, aOptions: *`HttpOptions`*): `Observable`<`string`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| aOptions | `HttpOptions` |

**Returns:** `Observable`<`string`>

___


<a name="_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/search/search"](#_ab06c130522fcf9e96396d805d12068c1b5eb0ee4ff6c16dd5570e350b477eeb) > [SdkSearch](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

# Class: SdkSearch

## Hierarchy

**SdkSearch**

## Implements

* `WchSdkSearch`

## Index

### Constructors

* [constructor](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

### Properties

* [getRenderingContextById](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)
* [getRenderingContexts](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)
* [getSitePages](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SdkSearch**(aDeps: *[SdkSearchDependencies](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962)*): [SdkSearch](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

*Defined in services/dependency/sdk/search/search.ts:23*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDeps | [SdkSearchDependencies](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962) |

**Returns:** [SdkSearch](#_b3fddc894ab37449bc5c567ef49b42b7e78f8b7ac4adfb7bfef092446ee63536)

___

## Properties

<a id="getrenderingcontextbyid"></a>

###  getRenderingContextById

**● getRenderingContextById**: *`function`*

*Defined in services/dependency/sdk/search/search.ts:21*

#### Type declaration
▸(aId: *`string`*, aLevels?: *`number`*): `Observable`<`RenderingContext`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aId | `string` |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext`>

___
<a id="getrenderingcontexts"></a>

###  getRenderingContexts

**● getRenderingContexts**: *`function`*

*Defined in services/dependency/sdk/search/search.ts:22*

#### Type declaration
▸(aValue: *[QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)*, aLevels?: *`number`*): `Observable`<`RenderingContextQueryResult`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | [QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71) |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContextQueryResult`>

___
<a id="getsitepages"></a>

###  getSitePages

**● getSitePages**: *`function`*

*Defined in services/dependency/sdk/search/search.ts:23*

#### Type declaration
▸(aValue: *[QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)*): `Observable`<`SitePagesQueryResult`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | [QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71) |

**Returns:** `Observable`<`SitePagesQueryResult`>

___


<a name="_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/dependency/sdk/search/search"](#_ab06c130522fcf9e96396d805d12068c1b5eb0ee4ff6c16dd5570e350b477eeb) > [SdkSearchDependencies](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962)

# Interface: SdkSearchDependencies

## Hierarchy

**SdkSearchDependencies**

↳  [SdkDependencies](#_ce5d299d876d7e98cdcdcc60d2aca5dd070a7cd6be135d16ba4ac89ab708ef80)

## Index

### Properties

* [wchService](#_f655fff53b7589273c957a6125149976792916e880da7c590341f1343ca15962)

---

## Properties

<a id="wchservice"></a>

###  wchService

**● wchService**: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*

*Defined in services/dependency/sdk/search/search.ts:15*

___


<a name="_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/http/http.service.on.jsonp"](#_3ae0484b92fc276435e155eb1c95de47f60a2f6a1f729dd7c1866c5f58276d7c) > [HttpServiceOnJsonp](#_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11)

# Class: HttpServiceOnJsonp

*__dynamic__*: 

## Hierarchy

**HttpServiceOnJsonp**

## Implements

* `HttpService`

## Index

### Constructors

* [constructor](#_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11)

### Properties

* [getJson](#_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11)
* [getText](#_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new HttpServiceOnJsonp**(aDocument: *`Document`*, aHttpClient: *`HttpClient`*, aZoneService: *[ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)*): [HttpServiceOnJsonp](#_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11)

*Defined in services/http/http.service.on.jsonp.ts:27*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aDocument | `Document` |
| aHttpClient | `HttpClient` |
| aZoneService | [ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec) |

**Returns:** [HttpServiceOnJsonp](#_689602ccff00cd1ce4792cf18278d91f81568c102fef62c8bf04608339114b11)

___

## Properties

<a id="getjson"></a>

###  getJson

**● getJson**: *`function`*

*Defined in services/http/http.service.on.jsonp.ts:26*

#### Type declaration
▸<`T`>(aUrl: *`string`*, aOptions: *`HttpOptions`*): `Observable`<`T`>

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| aOptions | `HttpOptions` |

**Returns:** `Observable`<`T`>

___
<a id="gettext"></a>

###  getText

**● getText**: *`function`*

*Defined in services/http/http.service.on.jsonp.ts:27*

#### Type declaration
▸(aUrl: *`string`*, aOptions: *`HttpOptions`*): `Observable`<`string`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| aOptions | `HttpOptions` |

**Returns:** `Observable`<`string`>

___


<a name="_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/hub-info/hub-info.service"](#_4042b0bc8caf4a014ac88375fd96996307a597ee34f5cd62c173b11d574470a2) > [HubInfoService](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)

# Class: HubInfoService

## Hierarchy

**HubInfoService**

## Implements

* `HubInfoConfig`

## Index

### Constructors

* [constructor](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)

### Properties

* [apiUrl](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)
* [baseUrl](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)
* [cycleHandlingStrategy](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)
* [deliveryUrl](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)
* [fetchLevels](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)
* [httpOptions](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)
* [httpPreviewOptions](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new HubInfoService**(aApiUrl: *`HubInfoUrlProvider`*, aDeliveryUrl: *`HubInfoUrlProvider`*, aBaseUrl: *`HubInfoUrlProvider`*, aHttpOptions: *`HttpResourceOptions`*, aHttpPreviewOptions: *`HttpResourceOptions`*, aCycleHandlingStrategy: *`CYCLE_HANDLING` \| `string`*, aFetchLevels: *`number`*): [HubInfoService](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)

*Defined in services/hub-info/hub-info.service.ts:81*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aApiUrl | `HubInfoUrlProvider` |
| aDeliveryUrl | `HubInfoUrlProvider` |
| aBaseUrl | `HubInfoUrlProvider` |
| aHttpOptions | `HttpResourceOptions` |
| aHttpPreviewOptions | `HttpResourceOptions` |
| aCycleHandlingStrategy | `CYCLE_HANDLING` \| `string` |
| aFetchLevels | `number` |

**Returns:** [HubInfoService](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)

___

## Properties

<a id="apiurl"></a>

### `<Optional>` apiUrl

**● apiUrl**: *`HubInfoUrlProvider`*

*Defined in services/hub-info/hub-info.service.ts:29*

URL to access the API layer

Naming of this field according to the field in the rendering context

*__example__*: '[https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1'](https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1')

*__example__*: '[https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite'](https://my.digitalexperience.ibm.com/api/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite')

___
<a id="baseurl"></a>

### `<Optional>` baseUrl

**● baseUrl**: *`HubInfoUrlProvider`*

*Defined in services/hub-info/hub-info.service.ts:50*

URL that represents the base URL of the path based routing of the application. This prefix will be preserved when generating and recognizing URLs. If this property is not configured, then it will be decoded from the window location.

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1')

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite')

*__example__*: '[https://my.external.example.com/'](https://my.external.example.com/')

___
<a id="cyclehandlingstrategy"></a>

### `<Optional>` cycleHandlingStrategy

**● cycleHandlingStrategy**: *`CYCLE_HANDLING` \| `string`*

*Defined in services/hub-info/hub-info.service.ts:75*

Optionally specify how the SDK is supposed to deal with cyclic references in the content data structure. Per default the rendering context will break cycles by representing the duplicate element in a reference path by an unresolved reference. When configuring the strategy to {@link CYCLE\_HANDLING.RESOLVE}, the [ContentrefComponent](#_4a37f11ad4410db15d0f07f13f46604a2ddd0bd799d3f739556cb0939befc67f) will use a resolved refence when rendering the context, instead of the unresolved reference. This bears the risk of an infinite loop during rendering. The actual rendering context objects will still not have cycles, so a JSON serialization of these objects will produce a valid result.

Default is {@link CYCLE\_HANDLING.BREAK}

___
<a id="deliveryurl"></a>

### `<Optional>` deliveryUrl

**● deliveryUrl**: *`HubInfoUrlProvider`*

*Defined in services/hub-info/hub-info.service.ts:39*

URL to access the delivery

Naming of this field according to the field in the rendering context

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1')

*__example__*: '[https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite'](https://my.digitalexperience.ibm.com/345563cf-a83c-40e5-a065-1d6ff36b05c1/dxsites/mysite')

___
<a id="fetchlevels"></a>

### `<Optional>` fetchLevels

**● fetchLevels**: *`number`*

*Defined in services/hub-info/hub-info.service.ts:81*

Number of levels to fetch per request to the rendering context. If missing all levels will be fetched.

___
<a id="httpoptions"></a>

### `<Optional>` httpOptions

**● httpOptions**: *`HttpResourceOptions`*

*Defined in services/hub-info/hub-info.service.ts:55*

Optionally specify how the SDK makes outbound requests

___
<a id="httppreviewoptions"></a>

### `<Optional>` httpPreviewOptions

**● httpPreviewOptions**: *`HttpResourceOptions`*

*Defined in services/hub-info/hub-info.service.ts:60*

Optionally specify how the SDK makes outbound requests for the preview case

___


<a name="_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/info/wch.info.service"](#_f2b93867d42dd81767ca63a2055cff0a2f8509b7557d37d4b582ccd053787032) > [WchInfoService](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)

# Class: WchInfoService

## Hierarchy

**WchInfoService**

## Implements

* `UrlConfig`

## Index

### Constructors

* [constructor](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)

### Properties

* [apiUrl](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)
* [baseUrl](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)
* [deliveryUrl](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)
* [isPreviewMode](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new WchInfoService**(wchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [WchInfoService](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)

*Defined in services/info/wch.info.service.ts:15*

**Parameters:**

| Name | Type |
| ------ | ------ |
| wchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [WchInfoService](#_e1638c152d3a4d69e8fb2003e096068f156cf889ba72d18c8de0fe1ddd27ff49)

___

## Properties

<a id="apiurl"></a>

###  apiUrl

**● apiUrl**: *`URL`*

*Defined in services/info/wch.info.service.ts:11*

some global infos. See definitions in UrlConfig

___
<a id="baseurl"></a>

### `<Optional>` baseUrl

**● baseUrl**: *`URL`*

*Defined in services/info/wch.info.service.ts:15*

___
<a id="deliveryurl"></a>

###  deliveryUrl

**● deliveryUrl**: *`URL`*

*Defined in services/info/wch.info.service.ts:12*

___
<a id="ispreviewmode"></a>

###  isPreviewMode

**● isPreviewMode**: *`boolean`*

*Defined in services/info/wch.info.service.ts:13*

___


<a name="_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/logger/wch.logger.service"](#_988dd73902ec42cfc20af57b8f7e9191cef045d01d9226877d3e695a706547ae) > [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)

# Class: WchLoggerService

## Hierarchy

**WchLoggerService**

## Implements

* `LoggerService`

## Index

### Constructors

* [constructor](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)

### Properties

* [get](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new WchLoggerService**(): [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)

*Defined in services/logger/wch.logger.service.ts:24*

**Returns:** [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)

___

## Properties

<a id="get"></a>

###  get

**● get**: *`function`*

*Defined in services/logger/wch.logger.service.ts:24*

#### Type declaration
▸(name: *`string`*): `Logger`

**Parameters:**

| Name | Type |
| ------ | ------ |
| name | `string` |

**Returns:** `Logger`

___


<a name="_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/logger/logger.service"](#_e45ed2d6c95f8032e24cf8a4af93c976c8fc0b27b8093f199b2e91676da8def6) > [LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)

# Class: LoggerProxy

Implementation of the logger service. The service accepts either a {@link LoggerFactory} or a {@link DynamicLoggerFactory} as initialization parameters to dynamically replace logger instances.

## Hierarchy

**LoggerProxy**

## Implements

* `OnDestroy`

## Index

### Constructors

* [constructor](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)

### Properties

* [_fctSubscription](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)

### Methods

* [get](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)
* [ngOnDestroy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new LoggerProxy**(aInjector: *`Injector`*): [LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)

*Defined in services/logger/logger.service.ts:124*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aInjector | `Injector` |

**Returns:** [LoggerProxy](#_5031e309b8188e8a7d94a836d66a8ef41207d5fcee1d2cd8eb60d03e3472e31e)

___

## Properties

<a id="_fctsubscription"></a>

### `<Private>` _fctSubscription

**● _fctSubscription**: *`Subscription`*

*Defined in services/logger/logger.service.ts:124*

___

## Methods

<a id="get"></a>

###  get

▸ **get**(name: *`string`*): `Logger`

*Defined in services/logger/logger.service.ts:151*

**Parameters:**

| Name | Type |
| ------ | ------ |
| name | `string` |

**Returns:** `Logger`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Defined in services/logger/logger.service.ts:155*

**Returns:** `void`

___


<a name="_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/markup/markup.service"](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a) > [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)

# Class: MarkupService

## Hierarchy

**MarkupService**

## Implements

* `OnDestroy`

## Index

### Constructors

* [constructor](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)

### Accessors

* [markupProviders](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)

### Methods

* [ngOnDestroy](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)
* [registerProvider](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new MarkupService**(): [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)

*Defined in services/markup/markup.service.ts:24*

**Returns:** [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)

___

## Accessors

<a id="markupproviders"></a>

###  markupProviders

**get markupProviders**(): [MarkupProviders](#_9e6156b3bfe72449f94c4ee452dd8254f42e8efdf3ea7e6930ea951bb3600a38)

*Defined in services/markup/markup.service.ts:29*

**Returns:** [MarkupProviders](#_9e6156b3bfe72449f94c4ee452dd8254f42e8efdf3ea7e6930ea951bb3600a38)

___

## Methods

<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Defined in services/markup/markup.service.ts:41*

**Returns:** `void`

___
<a id="registerprovider"></a>

###  registerProvider

▸ **registerProvider**(aLayoutType: *`string`*, aProvider: *[MarkupProvider](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201)*): `void`

*Defined in services/markup/markup.service.ts:33*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aLayoutType | `string` |
| aProvider | [MarkupProvider](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201) |

**Returns:** `void`

___


<a name="_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/markup/markup.service"](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a) > [MarkupProvider](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201)

# Interface: MarkupProvider

## Hierarchy

**MarkupProvider**

## Index

### Methods

* [compile](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201)
* [getComponentTypeRef](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201)

---

## Methods

<a id="compile"></a>

###  compile

▸ **compile**(aURL: *`string`*, aTemplateString: *`string`*): `Observable`<[MarkupGenerator](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a)>

*Defined in services/markup/markup.service.ts:13*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aURL | `string` |
| aTemplateString | `string` |

**Returns:** `Observable`<[MarkupGenerator](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a)>

___
<a id="getcomponenttyperef"></a>

###  getComponentTypeRef

▸ **getComponentTypeRef**(): `ComponentTypeRef`<`any`>

*Defined in services/markup/markup.service.ts:14*

**Returns:** `ComponentTypeRef`<`any`>

___


<a name="_9e6156b3bfe72449f94c4ee452dd8254f42e8efdf3ea7e6930ea951bb3600a38"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/markup/markup.service"](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a) > [MarkupProviders](#_9e6156b3bfe72449f94c4ee452dd8254f42e8efdf3ea7e6930ea951bb3600a38)

# Interface: MarkupProviders

## Hierarchy

**MarkupProviders**

## Indexable

\[layoutType: `string`\]:&nbsp;[MarkupProvider](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201)
## Index

---


<a name="_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/mappings/mappings.service"](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0) > [Mappings](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)

# Interface: Mappings

## Hierarchy

**Mappings**

## Index

### Properties

* [byId](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)
* [byKind](#_9135acda404c815524c85657bfd89c214ff6da85d6538ecb147a53a9babed6c8)

---

## Properties

<a id="byid"></a>

###  byId

**● byId**: *`Record`<`string`, [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)>*

*Defined in services/mappings/mappings.service.ts:34*

___
<a id="bykind"></a>

###  byKind

**● byKind**: *`Record`<`string`, [MappingEntry](#_b499d6b246c9ac9c8b034a7d2ca08578f3592f3aae0ed0007365e7b5da2452d0)>*

*Defined in services/mappings/mappings.service.ts:35*

___


<a name="_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/component.mapping.utils"](#_ffbc636367ef06e0ee569bfaae0c33da1c48b98408a90d156ec6414832579fc2) > [RegisteredMapping](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)

# Interface: RegisteredMapping

## Hierarchy

**RegisteredMapping**

## Index

### Properties

* [id](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)
* [kind](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)
* [layoutMode](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)
* [selector](#_80d24e8a10abea0a239f766f1a036186e9e8851cf6f6f2ed36f8eef613a93e97)

---

## Properties

<a id="id"></a>

### `<Optional>` id

**● id**: *`string` \| `string`[]*

*Defined in utils/component.mapping.utils.ts:32*

Type IDs or content IDs to map this to

___
<a id="kind"></a>

### `<Optional>` kind

**● kind**: *`CONTENT_ITEM_KIND` \| `CONTENT_ITEM_KIND`[]*

*Defined in utils/component.mapping.utils.ts:37*

Type IDs to map this to

___
<a id="layoutmode"></a>

### `<Optional>` layoutMode

**● layoutMode**: *`string` \| `string`[]*

*Defined in utils/component.mapping.utils.ts:27*

___
<a id="selector"></a>

###  selector

**● selector**: *`string` \| `string`[] \| `Type`<`any`>*

*Defined in utils/component.mapping.utils.ts:22*

___


<a name="_e182e35b7919bd0933ba137c1e60c23113f55be95c4277ff8ded80323581cea3"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/page/active.page.service"](#_a4ea53f2c7b65b21b7e2184221f2b3862d8139ba9cc65562680b10b9685722a1) > [ActivePageService](#_e182e35b7919bd0933ba137c1e60c23113f55be95c4277ff8ded80323581cea3)

# Class: ActivePageService

## Hierarchy

**ActivePageService**

## Implements

* `ActivePage`
* `OnDestroy`

## Index

### Accessors

* [onRenderingContext](#_e182e35b7919bd0933ba137c1e60c23113f55be95c4277ff8ded80323581cea3)

### Methods

* [ngOnDestroy](#_e182e35b7919bd0933ba137c1e60c23113f55be95c4277ff8ded80323581cea3)

---

## Accessors

<a id="onrenderingcontext"></a>

###  onRenderingContext

**get onRenderingContext**(): `Observable`<`RenderingContext`>

*Defined in services/page/active.page.service.ts:22*

**Returns:** `Observable`<`RenderingContext`>

___

## Methods

<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Defined in services/page/active.page.service.ts:29*

**Returns:** `void`

___


<a name="_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/refresh/refresh.service"](#_2e92a7ed3b599e9a511bdde18efeaefbcfb4b67844625ca60124819e59a4c59b) > [RefreshService](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a)

# Class: RefreshService

## Hierarchy

**RefreshService**

## Index

### Constructors

* [constructor](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a)

### Properties

* [refresh](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new RefreshService**(aWchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [RefreshService](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a)

*Defined in services/refresh/refresh.service.ts:18*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aWchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [RefreshService](#_eec5b613a4f700c33586f48d5d15517223695db2ee0d7f783a4627f8fc36705a)

___

## Properties

<a id="refresh"></a>

###  refresh

**● refresh**: *`function`*

*Defined in services/refresh/refresh.service.ts:18*

#### Type declaration
▸(): `void`

**Returns:** `void`

___


<a name="_a70dc91f0d8674cabfc3e21ba42e63eff29447b53840f529cd949bfad58dcaf1"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/resolver/content.resolver.service"](#_e18f458b7bd5da7c281de34f0a232c48f4f82b76b9b8aa0af88a8139d2c52473) > [ContentResolverService](#_a70dc91f0d8674cabfc3e21ba42e63eff29447b53840f529cd949bfad58dcaf1)

# Class: ContentResolverService

## Hierarchy

**ContentResolverService**

## Index

### Constructors

* [constructor](#_a70dc91f0d8674cabfc3e21ba42e63eff29447b53840f529cd949bfad58dcaf1)

### Properties

* [resolveRenderingContext](#_a70dc91f0d8674cabfc3e21ba42e63eff29447b53840f529cd949bfad58dcaf1)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ContentResolverService**(wchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [ContentResolverService](#_a70dc91f0d8674cabfc3e21ba42e63eff29447b53840f529cd949bfad58dcaf1)

*Defined in services/resolver/content.resolver.service.ts:14*

**Parameters:**

| Name | Type |
| ------ | ------ |
| wchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [ContentResolverService](#_a70dc91f0d8674cabfc3e21ba42e63eff29447b53840f529cd949bfad58dcaf1)

___

## Properties

<a id="resolverenderingcontext"></a>

###  resolveRenderingContext

**● resolveRenderingContext**: *`function`*

*Defined in services/resolver/content.resolver.service.ts:13*

#### Type declaration
▸(aRenderingContext?: *`RenderingContext`*, aStrategy?: *`CYCLE_HANDLING`*): `Observable`<`RenderingContext` \| `null` \| `undefined`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aRenderingContext | `RenderingContext` |
| `Optional` aStrategy | `CYCLE_HANDLING` |

**Returns:** `Observable`<`RenderingContext` \| `null` \| `undefined`>

___


<a name="_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/search/search.service"](#_96f064481d6c8e3eee7e3b82e585d2928eed2ebbfaaf7aacaf7a3688df50583b) > [SearchService](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)

# Class: SearchService

## Hierarchy

**SearchService**

## Implements

* `WchSdkSearch`

## Index

### Constructors

* [constructor](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)

### Properties

* [getRenderingContextById](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)
* [getRenderingContexts](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)
* [getSitePages](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new SearchService**(wchService: *[WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)*): [SearchService](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)

*Defined in services/search/search.service.ts:25*

**Parameters:**

| Name | Type |
| ------ | ------ |
| wchService | [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b) |

**Returns:** [SearchService](#_cc3c9618dd4e6f6fea821aad8f5a7224781cd85f773d6e7928fa54eb4372dd38)

___

## Properties

<a id="getrenderingcontextbyid"></a>

###  getRenderingContextById

**● getRenderingContextById**: *`function`*

*Defined in services/search/search.service.ts:17*

#### Type declaration
▸(aId: *`string`*, aLevels?: *`number`*): `Observable`<`RenderingContext`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aId | `string` |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext`>

___
<a id="getrenderingcontexts"></a>

###  getRenderingContexts

**● getRenderingContexts**: *`function`*

*Defined in services/search/search.service.ts:21*

#### Type declaration
▸(aValue: *[QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)*, aLevels?: *`number`*): `Observable`<`RenderingContextQueryResult`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | [QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71) |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContextQueryResult`>

___
<a id="getsitepages"></a>

###  getSitePages

**● getSitePages**: *`function`*

*Defined in services/search/search.service.ts:25*

#### Type declaration
▸(aValue: *[QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71)*): `Observable`<`SitePagesQueryResult`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aValue | [QueryInput](#_3dee3d8866f017db816e01d3a699733075b65ebf9c836167f53c45b9d8b8ef71) |

**Returns:** `Observable`<`SitePagesQueryResult`>

___


<a name="_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/storage/storage.service"](#_8aa0e9fe6b6a8ebc3a606d4a650780769b65514b31fbc880342b606b0d885d4d) > [StorageService](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)

# Class: StorageService

## Hierarchy

 `ClientStorageService`

**↳ StorageService**

## Implements

* `ClientStorage`
* `ClientStorage`

## Index

### Constructors

* [constructor](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)

### Properties

* [get](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)
* [put](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new StorageService**(aUrlsService: *[UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)*): [StorageService](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)

*Overrides ClientStorageService.__constructor*

*Defined in services/storage/storage.service.ts:10*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrlsService | [UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237) |

**Returns:** [StorageService](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)

___

## Properties

<a id="get"></a>

###  get

**● get**: *`function`*

*Inherited from ClientStorageService.get*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/utils/src/storage/storage.service.d.ts:5*

#### Type declaration
▸(aKey: *`string`*): `AnyJson`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |

**Returns:** `AnyJson`

___
<a id="put"></a>

###  put

**● put**: *`function`*

*Inherited from ClientStorageService.put*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/utils/src/storage/storage.service.d.ts:6*

#### Type declaration
▸(aKey: *`string`*, aValue: *`AnyJson`*): `void`

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |
| aValue | `AnyJson` |

**Returns:** `void`

___


<a name="_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/url/urls.service"](#_605c29efa87fd68948f00fce0e27c4e291723e61a88461e23c1c53f3bd4796b7) > [UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)

# Class: UrlsService

Implementation of a service that decodes the relevant URLs

*__dynamic__*: 

## Hierarchy

**UrlsService**

## Implements

* `UrlConfig`

## Index

### Constructors

* [constructor](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)

### Properties

* [apiUrl](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)
* [baseUrl](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)
* [deliveryUrl](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)
* [isPreviewMode](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)
* [resourceUrl](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new UrlsService**(aBaseUrl: *`HubInfoUrlProvider`*, aApiUrl: *`HubInfoUrlProvider`*, aDeliveryUrl: *`HubInfoUrlProvider`*, aDocument: *`Document`*): [UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)

*Defined in services/url/urls.service.ts:56*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aBaseUrl | `HubInfoUrlProvider` |
| aApiUrl | `HubInfoUrlProvider` |
| aDeliveryUrl | `HubInfoUrlProvider` |
| aDocument | `Document` |

**Returns:** [UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)

___

## Properties

<a id="apiurl"></a>

###  apiUrl

**● apiUrl**: *`URL`*

*Defined in services/url/urls.service.ts:37*

The API URL to content hub

___
<a id="baseurl"></a>

### `<Optional>` baseUrl

**● baseUrl**: *`URL`*

*Defined in services/url/urls.service.ts:48*

The base URL of the host the application is running on. This can be undefined if the application is rendered standalone as part of the universal renderer.

___
<a id="deliveryurl"></a>

###  deliveryUrl

**● deliveryUrl**: *`URL`*

*Defined in services/url/urls.service.ts:42*

The Delivery URL to content hub

___
<a id="ispreviewmode"></a>

###  isPreviewMode

**● isPreviewMode**: *`boolean`*

*Defined in services/url/urls.service.ts:56*

True if the system runs in preview mode, else false.

___
<a id="resourceurl"></a>

### `<Optional>` resourceUrl

**● resourceUrl**: *`URL`*

*Defined in services/url/urls.service.ts:53*

The base URL of the document, this is the URL that is used as the basis for static resources in the application

___


<a name="_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/wch.service"](#_8a5df0e5082f7062b705290fa98e3b6a3ecfe304b81b1160f9157df57406dfa9) > [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)

# Class: WchService

## Hierarchy

**WchService**

## Implements

* `OnDestroy`

## Index

### Constructors

* [constructor](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)

### Properties

* [createPollingTrigger](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getApiUrl](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getAppConfig](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getBaseUrl](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getCorsWhitelist](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getDeliverOrigin](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getDeliveryUrl](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getJsonResource](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getRenderingContextByActivatedRoute](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getRenderingContextById](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getRenderingContextByPage](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getRenderingContextByPath](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getRenderingContextByUrlSegments](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getRenderingContextForAppConfig](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getRenderingContextsByQuery](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getSitePagesByQuery](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [getTextResource](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [isPreviewMode](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [ngOnDestroy](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [resolveRenderingContext](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)
* [triggerRefresh](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new WchService**(aHttp: *`HttpService`*, aJsonp: *`HttpService`*, wchConfig: *[HubInfoService](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7)*, aUrlService: *[UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237)*, clientStorage: *[StorageService](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84)*, bootstrapService: *[BootstrapService](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)*, markupProviderService: *[MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0)*, zoneService: *[ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)*, loggerService: *[WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d)*, aInjector: *`Injector`*): [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)

*Defined in services/wch.service.ts:234*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aHttp | `HttpService` |
| aJsonp | `HttpService` |
| wchConfig | [HubInfoService](#_2e0aee2b3a97dc48755f98b7de19fe68e4ddb4bdf80877eb48559e09fef423d7) |
| aUrlService | [UrlsService](#_50ae0bfad381b31f861f01163d790d8e0f7efa72ff017350728c403e7262f237) |
| clientStorage | [StorageService](#_75c0f5fcd5316eed996769a41df17bca147f51ac3535f63ce1e625c68195fb84) |
| bootstrapService | [BootstrapService](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd) |
| markupProviderService | [MarkupService](#_0c1ff04d5ee297ca02154c41ed0c8a2981ac8c18aa5ec83430150b0aa72610f0) |
| zoneService | [ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec) |
| loggerService | [WchLoggerService](#_0eb1bbaf50234a65545adba1d278c277acda2947085ec130087096f74302f79d) |
| aInjector | `Injector` |

**Returns:** [WchService](#_58a5ef9e9c938c99ab5a625333ab380de509fd76e139e472983cdb3414ec579b)

___

## Properties

<a id="createpollingtrigger"></a>

### `<Protected>` createPollingTrigger

**● createPollingTrigger**: *`function`*

*Defined in services/wch.service.ts:232*

#### Type declaration
▸(aOptions?: *`HttpResourceOptions`*): `Observable`<`any`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aOptions | `HttpResourceOptions` |

**Returns:** `Observable`<`any`>

___
<a id="getapiurl"></a>

###  getApiUrl

**● getApiUrl**: *`function`*

*Defined in services/wch.service.ts:183*

#### Type declaration
▸(): `URL`

**Returns:** `URL`

___
<a id="getappconfig"></a>

###  getAppConfig

**● getAppConfig**: *`function`*

*Defined in services/wch.service.ts:188*

#### Type declaration
▸(): `Observable`<[ApplicationConfig](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)>

**Returns:** `Observable`<[ApplicationConfig](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)>

___
<a id="getbaseurl"></a>

###  getBaseUrl

**● getBaseUrl**: *`function`*

*Defined in services/wch.service.ts:185*

#### Type declaration
▸(): `URL` \| `undefined`

**Returns:** `URL` \| `undefined`

___
<a id="getcorswhitelist"></a>

###  getCorsWhitelist

**● getCorsWhitelist**: *`function`*

*Defined in services/wch.service.ts:217*

#### Type declaration
▸(): `Observable`<`string`[]>

**Returns:** `Observable`<`string`[]>

___
<a id="getdeliverorigin"></a>

###  getDeliverOrigin

**● getDeliverOrigin**: *`function`*

*Defined in services/wch.service.ts:187*

#### Type declaration
▸(): `string`

**Returns:** `string`

___
<a id="getdeliveryurl"></a>

###  getDeliveryUrl

**● getDeliveryUrl**: *`function`*

*Defined in services/wch.service.ts:184*

#### Type declaration
▸(): `URL`

**Returns:** `URL`

___
<a id="getjsonresource"></a>

###  getJsonResource

**● getJsonResource**: *`function`*

*Defined in services/wch.service.ts:218*

#### Type declaration
▸<`T`>(aUrl: *`string`*, aOptions?: *`HttpResourceOptions`*): `Observable`<`T`>

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| `Optional` aOptions | `HttpResourceOptions` |

**Returns:** `Observable`<`T`>

___
<a id="getrenderingcontextbyactivatedroute"></a>

###  getRenderingContextByActivatedRoute

**● getRenderingContextByActivatedRoute**: *`function`*

*Defined in services/wch.service.ts:205*

#### Type declaration
▸(aRoute: *`ActivatedRoute`*, aLevels?: *`number`*): `Observable`<`RenderingContext` \| `null` \| `undefined`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aRoute | `ActivatedRoute` |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext` \| `null` \| `undefined`>

___
<a id="getrenderingcontextbyid"></a>

###  getRenderingContextById

**● getRenderingContextById**: *`function`*

*Defined in services/wch.service.ts:189*

#### Type declaration
▸(aID: *`string` \| `null` \| `undefined`*, aLevels?: *`number`*): `Observable`<`RenderingContext` \| `null` \| `undefined`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aID | `string` \| `null` \| `undefined` |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext` \| `null` \| `undefined`>

___
<a id="getrenderingcontextbypage"></a>

###  getRenderingContextByPage

**● getRenderingContextByPage**: *`function`*

*Defined in services/wch.service.ts:201*

#### Type declaration
▸(aPage: *`SitePage`*, aLevels?: *`number`*): `Observable`<`RenderingContext` \| `null` \| `undefined`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aPage | `SitePage` |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext` \| `null` \| `undefined`>

___
<a id="getrenderingcontextbypath"></a>

###  getRenderingContextByPath

**● getRenderingContextByPath**: *`function`*

*Defined in services/wch.service.ts:197*

#### Type declaration
▸(aPath: *`string`*, aLevels?: *`number`*): `Observable`<`RenderingContext` \| `null` \| `undefined`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aPath | `string` |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext` \| `null` \| `undefined`>

___
<a id="getrenderingcontextbyurlsegments"></a>

###  getRenderingContextByUrlSegments

**● getRenderingContextByUrlSegments**: *`function`*

*Defined in services/wch.service.ts:193*

#### Type declaration
▸(aSegments: *`UrlSegment`[]*, aLevels?: *`number`*): `Observable`<`RenderingContext` \| `null` \| `undefined`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSegments | `UrlSegment`[] |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext` \| `null` \| `undefined`>

___
<a id="getrenderingcontextforappconfig"></a>

###  getRenderingContextForAppConfig

**● getRenderingContextForAppConfig**: *`function`*

*Defined in services/wch.service.ts:209*

#### Type declaration
▸(aLevels?: *`number`*): `Observable`<`RenderingContext`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContext`>

___
<a id="getrenderingcontextsbyquery"></a>

###  getRenderingContextsByQuery

**● getRenderingContextsByQuery**: *`function`*

*Defined in services/wch.service.ts:212*

#### Type declaration
▸(aQuery: *`string`*, aLevels?: *`number`*): `Observable`<`RenderingContextQueryResult`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aQuery | `string` |
| `Optional` aLevels | `number` |

**Returns:** `Observable`<`RenderingContextQueryResult`>

___
<a id="getsitepagesbyquery"></a>

###  getSitePagesByQuery

**● getSitePagesByQuery**: *`function`*

*Defined in services/wch.service.ts:216*

#### Type declaration
▸(aQuery: *`string`*): `Observable`<`SitePagesQueryResult`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aQuery | `string` |

**Returns:** `Observable`<`SitePagesQueryResult`>

___
<a id="gettextresource"></a>

###  getTextResource

**● getTextResource**: *`function`*

*Defined in services/wch.service.ts:222*

#### Type declaration
▸(aUrl: *`string`*, aOptions?: *`HttpResourceOptions`*): `Observable`<`string`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| aUrl | `string` |
| `Optional` aOptions | `HttpResourceOptions` |

**Returns:** `Observable`<`string`>

___
<a id="ispreviewmode"></a>

###  isPreviewMode

**● isPreviewMode**: *`function`*

*Defined in services/wch.service.ts:186*

#### Type declaration
▸(): `boolean`

**Returns:** `boolean`

___
<a id="ngondestroy"></a>

###  ngOnDestroy

**● ngOnDestroy**: *`function`*

*Defined in services/wch.service.ts:179*

#### Type declaration
▸(): `void`

**Returns:** `void`

___
<a id="resolverenderingcontext"></a>

###  resolveRenderingContext

**● resolveRenderingContext**: *`function`*

*Defined in services/wch.service.ts:226*

#### Type declaration
▸(aRenderingContext?: *`RenderingContext`*, aStrategy?: *`CYCLE_HANDLING`*): `Observable`<`RenderingContext` \| `null` \| `undefined`>

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` aRenderingContext | `RenderingContext` |
| `Optional` aStrategy | `CYCLE_HANDLING` |

**Returns:** `Observable`<`RenderingContext` \| `null` \| `undefined`>

___
<a id="triggerrefresh"></a>

###  triggerRefresh

**● triggerRefresh**: *`function`*

*Defined in services/wch.service.ts:182*

#### Type declaration
▸(): `void`

**Returns:** `void`

___


<a name="_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/zone/zone.service"](#_e8355839cf5efcaa6787da7312ec826f5b593d08ace85004c634a7948269742e) > [ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)

# Class: ZoneService

Service that exposes schedulers and operators that allow client code to run inside or outside of angular zone.

## Hierarchy

**ZoneService**

## Index

### Constructors

* [constructor](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)

### Properties

* [insideScheduler](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)
* [observeInside](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)
* [outsideScheduler](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)
* [subscribeOutside](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new ZoneService**(aZone: *`NgZone`*): [ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)

*Defined in services/zone/zone.service.ts:29*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aZone | `NgZone` |

**Returns:** [ZoneService](#_27a4c2801922a8b6ae6c4dff30533e687d97c87d9b99e74caf833a87bc03e8ec)

___

## Properties

<a id="insidescheduler"></a>

###  insideScheduler

**● insideScheduler**: *`SchedulerLike`*

*Defined in services/zone/zone.service.ts:16*

___
<a id="observeinside"></a>

###  observeInside

**● observeInside**: *`function`*

*Defined in services/zone/zone.service.ts:24*

Operator to run the observer inside of a zone

#### Type declaration
▸<`T`>(): `MonoTypeOperatorFunction`<`T`>

**Type parameters:**

#### T 

**Returns:** `MonoTypeOperatorFunction`<`T`>

___
<a id="outsidescheduler"></a>

###  outsideScheduler

**● outsideScheduler**: *`SchedulerLike`*

*Defined in services/zone/zone.service.ts:19*

___
<a id="subscribeoutside"></a>

###  subscribeOutside

**● subscribeOutside**: *`function`*

*Defined in services/zone/zone.service.ts:29*

Operator to subscribe outside of a zone

#### Type declaration
▸<`T`>(): `MonoTypeOperatorFunction`<`T`>

**Type parameters:**

#### T 

**Returns:** `MonoTypeOperatorFunction`<`T`>

___


<a name="_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/component.utils"](#_ee0c175fd93f9b17f9cac13b3376c02cc62605a04b07d0038d64309bd85df344) > [RegisteredComponent](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)

# Interface: RegisteredComponent

## Hierarchy

**RegisteredComponent**

## Index

### Properties

* [directive](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)
* [type](#_9614f032eeb6dc57d9b0d79bcf44f702747fa5e24c59f62ebd4d8567dc84b049)

---

## Properties

<a id="directive"></a>

###  directive

**● directive**: *[LayoutComponentDirective](#_1021ebed39234a3054223f6444ae17e21711665485a0333c3300e99032cf148d)*

*Defined in utils/component.utils.ts:76*

___
<a id="type"></a>

###  type

**● type**: *`Type`<`any`>*

*Defined in utils/component.utils.ts:77*

___


<a name="_6eb799e7a0e4f66ef78882cf119a2dd4c61df4eb785d7cb694b258aa690c8572"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/http.service.on.jsonp"](#_411ae4dd6223b9b280967e0cd95aca3a894d409fc2736c5e6f7bbdaa9d6fbed2) > [PendingRequests](#_6eb799e7a0e4f66ef78882cf119a2dd4c61df4eb785d7cb694b258aa690c8572)

# Interface: PendingRequests

## Hierarchy

**PendingRequests**

## Indexable

\[url: `string`\]:&nbsp;`Observable`<`any`>
## Index

---


<a name="_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/markup.utils"](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644) > [Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)

# Interface: Markup

## Hierarchy

**Markup**

## Index

### Properties

* [componentId](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)
* [layoutMode](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)
* [markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)
* [template](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)
* [templateRef](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)

---

## Properties

<a id="componentid"></a>

###  componentId

**● componentId**: *`string`*

*Defined in utils/markup.utils.ts:15*

___
<a id="layoutmode"></a>

###  layoutMode

**● layoutMode**: *`string`*

*Defined in utils/markup.utils.ts:16*

___
<a id="markup"></a>

###  markup

**● markup**: *`string` \| `undefined`*

*Defined in utils/markup.utils.ts:18*

___
<a id="template"></a>

###  template

**● template**: *[MarkupGenerator](#_85605ad3a49926c081a6af5d46471a7e826466ff15f37f709b3f81077cdc705a) \| `undefined`*

*Defined in utils/markup.utils.ts:19*

___
<a id="templateref"></a>

###  templateRef

**● templateRef**: *`string`*

*Defined in utils/markup.utils.ts:17*

___


<a name="_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/markup.utils"](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644) > [MarkupMapping](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348)

# Interface: MarkupMapping

## Hierarchy

**MarkupMapping**

## Index

### Properties

* [byId](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348)
* [byTemplate](#_009b41f4d6c0a332f45ee678b1eb1dd95ec1e4a45456e7a93b0b2f94ca441348)

---

## Properties

<a id="byid"></a>

###  byId

**● byId**: *`object`*

*Defined in utils/markup.utils.ts:29*

#### Type declaration

[id: `string`]: [Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)[]

___
<a id="bytemplate"></a>

###  byTemplate

**● byTemplate**: *`object`*

*Defined in utils/markup.utils.ts:28*

#### Type declaration

[templateRef: `string`]: [MarkupRef](#_347b956c7a13f96ebf166489d8e74e379b42e56bf742cc87f0ff62babcf9fcc7)[]

___


<a name="_347b956c7a13f96ebf166489d8e74e379b42e56bf742cc87f0ff62babcf9fcc7"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/markup.utils"](#_62b54450771258adbfd2e6a81f7b2d32eb5e7642cba11acbb1b2f02286107644) > [MarkupRef](#_347b956c7a13f96ebf166489d8e74e379b42e56bf742cc87f0ff62babcf9fcc7)

# Interface: MarkupRef

## Hierarchy

**MarkupRef**

## Index

### Properties

* [markupRef](#_347b956c7a13f96ebf166489d8e74e379b42e56bf742cc87f0ff62babcf9fcc7)
* [provider](#_347b956c7a13f96ebf166489d8e74e379b42e56bf742cc87f0ff62babcf9fcc7)

---

## Properties

<a id="markupref"></a>

###  markupRef

**● markupRef**: *[Markup](#_0ed29e0ce2a96514e1bde1b329de58cad3ae1002332f02fbc8e1d44dad4b33db)*

*Defined in utils/markup.utils.ts:24*

___
<a id="provider"></a>

###  provider

**● provider**: *[MarkupProvider](#_3bb5fc1002fedb53eae42985092b025e523a07b647abe847471920c3143fe201)*

*Defined in utils/markup.utils.ts:23*

___


<a name="_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/rx.utils"](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db) > [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

# Class: AbstractNgInZoneScheduler

Implements a scheduler that runs the work inside or outside an angular zone.

## Hierarchy

**AbstractNgInZoneScheduler**

↳  [NgInZoneScheduler](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)

↳  [NgOutOfZoneScheduler](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)

## Implements

* `SchedulerLike`

## Index

### Constructors

* [constructor](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

### Properties

* [delegate](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)
* [zone](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

### Methods

* [doRun](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)
* [now](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)
* [schedule](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new AbstractNgInZoneScheduler**(aZone: *`NgZone`*, aDelegate?: *`SchedulerLike`*): [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

*Defined in utils/rx.utils.ts:36*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aZone | `NgZone` |
| `Optional` aDelegate | `SchedulerLike` |

**Returns:** [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

___

## Properties

<a id="delegate"></a>

### `<Private>` delegate

**● delegate**: *`SchedulerLike`*

*Defined in utils/rx.utils.ts:34*

___
<a id="zone"></a>

### `<Private>` zone

**● zone**: *`NgZone`*

*Defined in utils/rx.utils.ts:36*

___

## Methods

<a id="dorun"></a>

### `<Protected>``<Abstract>` doRun

▸ **doRun**(zone: *`NgZone`*, cb: *`function`*): `Subscription`

*Defined in utils/rx.utils.ts:55*

**Parameters:**

| Name | Type |
| ------ | ------ |
| zone | `NgZone` |
| cb | `function` |

**Returns:** `Subscription`

___
<a id="now"></a>

###  now

▸ **now**(): `number`

*Defined in utils/rx.utils.ts:44*

**Returns:** `number`

___
<a id="schedule"></a>

###  schedule

▸ **schedule**<`T`>(work: *`function`*, delay?: *`number`*, state?: *`T`*): `Subscription`

*Defined in utils/rx.utils.ts:48*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| work | `function` |
| `Optional` delay | `number` |
| `Optional` state | `T` |

**Returns:** `Subscription`

___


<a name="_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/rx.utils"](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db) > [NgInZoneScheduler](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)

# Class: NgInZoneScheduler

## Hierarchy

 [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

**↳ NgInZoneScheduler**

## Implements

* `SchedulerLike`

## Index

### Constructors

* [constructor](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)

### Methods

* [doRun](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)
* [now](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)
* [schedule](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new NgInZoneScheduler**(aZone: *`NgZone`*, aDelegate?: *`SchedulerLike`*): [NgInZoneScheduler](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)

*Overrides [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[constructor](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:59*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aZone | `NgZone` |
| `Optional` aDelegate | `SchedulerLike` |

**Returns:** [NgInZoneScheduler](#_cb9774d85e7a8d9bde78f399dee81ffe2cd8c5f164747ac644b22cb9216711a7)

___

## Methods

<a id="dorun"></a>

### `<Protected>` doRun

▸ **doRun**(zone: *`NgZone`*, cb: *`function`*): `Subscription`

*Overrides [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[doRun](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:65*

**Parameters:**

| Name | Type |
| ------ | ------ |
| zone | `NgZone` |
| cb | `function` |

**Returns:** `Subscription`

___
<a id="now"></a>

###  now

▸ **now**(): `number`

*Inherited from [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[now](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:44*

**Returns:** `number`

___
<a id="schedule"></a>

###  schedule

▸ **schedule**<`T`>(work: *`function`*, delay?: *`number`*, state?: *`T`*): `Subscription`

*Inherited from [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[schedule](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:48*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| work | `function` |
| `Optional` delay | `number` |
| `Optional` state | `T` |

**Returns:** `Subscription`

___


<a name="_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/rx.utils"](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db) > [NgOutOfZoneScheduler](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)

# Class: NgOutOfZoneScheduler

## Hierarchy

 [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)

**↳ NgOutOfZoneScheduler**

## Implements

* `SchedulerLike`

## Index

### Constructors

* [constructor](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)

### Methods

* [doRun](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)
* [now](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)
* [schedule](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new NgOutOfZoneScheduler**(aZone: *`NgZone`*, aDelegate?: *`SchedulerLike`*): [NgOutOfZoneScheduler](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)

*Overrides [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[constructor](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:70*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aZone | `NgZone` |
| `Optional` aDelegate | `SchedulerLike` |

**Returns:** [NgOutOfZoneScheduler](#_16e2a00e0358a55bc5005658fb0e8d1e1c770aad4110fc80a073c1953e07d11c)

___

## Methods

<a id="dorun"></a>

### `<Protected>` doRun

▸ **doRun**(zone: *`NgZone`*, cb: *`function`*): `Subscription`

*Overrides [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[doRun](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:76*

**Parameters:**

| Name | Type |
| ------ | ------ |
| zone | `NgZone` |
| cb | `function` |

**Returns:** `Subscription`

___
<a id="now"></a>

###  now

▸ **now**(): `number`

*Inherited from [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[now](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:44*

**Returns:** `number`

___
<a id="schedule"></a>

###  schedule

▸ **schedule**<`T`>(work: *`function`*, delay?: *`number`*, state?: *`T`*): `Subscription`

*Inherited from [AbstractNgInZoneScheduler](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594).[schedule](#_ae5971fc27b92b4f77ff100df6392abcbdb7054d03625a04dec4adf4fb156594)*

*Defined in utils/rx.utils.ts:48*

**Type parameters:**

#### T 
**Parameters:**

| Name | Type |
| ------ | ------ |
| work | `function` |
| `Optional` delay | `number` |
| `Optional` state | `T` |

**Returns:** `Subscription`

___


<a name="_d48587bd7a20b69326d9190a31c492d6abfeec12178967907389027d7b4681d7"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["utils/rx.utils"](#_36c9e0384fff01c522414ade6f0a22b0f3f59bb9dbfee8a306f9c7bd2ec263db) > [ZoneSchedulers](#_d48587bd7a20b69326d9190a31c492d6abfeec12178967907389027d7b4681d7)

# Interface: ZoneSchedulers

## Hierarchy

**ZoneSchedulers**

## Index

### Properties

* [inside](#_d48587bd7a20b69326d9190a31c492d6abfeec12178967907389027d7b4681d7)
* [outside](#_d48587bd7a20b69326d9190a31c492d6abfeec12178967907389027d7b4681d7)

---

## Properties

<a id="inside"></a>

###  inside

**● inside**: *`SchedulerLike`*

*Defined in utils/rx.utils.ts:82*

___
<a id="outside"></a>

###  outside

**● outside**: *`SchedulerLike`*

*Defined in utils/rx.utils.ts:83*

___


<a name="_2e7dfe61ef2eebf4639dddfd3db5850531fea53c360a5cca7e3920d2b11a3dfb"></a>
# Services

The SDK exposes the following services:

* [BoostrapService](#_edd9858b113c3658569fc98cefa7eacb71f80a813caaac5a54be6fd51ce74e1c): used to register pre-built data records for a speedy first page experience
* [ComponentsService](#_32a765b3b5fb30276418839f2cae827a486d81fdd63b1bc89039ec6d4d2a9caf): used to register angular components as layouts
* [LayoutMappingService](#_3945effdd05b3e4fbaf1dfa8310b7ffb082dd200caaddaad708256e2ed7efe22): used to register fallback layout mappings
* [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027): provides configuration data to the SDK, typically injected by the application
* [WchInfoService](#_a8da2eda4287448d6feafc7d6945b06aeeac99c0f32569a8c53b8db4329d91c7): exposes resolved configuration data as used by the SDK. Based on [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027) but after applying all necessary fallbacks.
* [ActivePageService](#_5119acd67a4e6f32ff4a957a7734de424990e28d41a22d44ee947dcd0c5c6ee9): provides access to the currently rendered page
* [SDK Service](#_2dd18fd4183312a7e70288ab611df354ed8f56a2633cd462fd02c90242db7275): exposes selected functions of the SDK via the global window object, so these function can be used from non-Angular components or via cross-frame messaging.
* [SearchService](#_f14a3554bad29ba4c7d4e23139d09320b6afe3e8caf4a8b0521b328799a2ad82): exposes a convenience API to search for pages and content.
* [RefreshService](#_8097a56d4176a2568a9555662f6562b630f1d0dce29b65129329defe9451b940): service to refresh REST based data

<a name="_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/config/application.config"](#_a1f893f8f56b1cae17b5309c8f5601c11ecf0596382288255a336380c542f9c6) > [ApplicationConfig](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)

# Interface: ApplicationConfig

## Hierarchy

 `ContentItem`

**↳ ApplicationConfig**

## Index

### Properties

* [classification](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [created](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [creatorId](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [description](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [draftId](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [draftStatus](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [elements](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [id](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [kind](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [lastModified](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [lastModifierId](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [locale](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [name](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [rev](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [tags](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [type](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)
* [typeId](#_36657aa2f23c80a4ab18ef798ef7e914c7a5fe5dbd8a667e22778cbbb85c348e)

---

## Properties

<a id="classification"></a>

###  classification

**● classification**: *`string`*

*Overrides BaseDeliveryItem.classification*

*Defined in services/config/application.config.ts:7*

___
<a id="created"></a>

### `<Optional>` created

**● created**: *`string`*

*Inherited from BaseDeliveryItem.created*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/base.item.d.ts:19*

___
<a id="creatorid"></a>

### `<Optional>` creatorId

**● creatorId**: *`string`*

*Inherited from BaseDeliveryItem.creatorId*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/base.item.d.ts:20*

___
<a id="description"></a>

### `<Optional>` description

**● description**: *`string`*

*Inherited from BaseDeliveryItem.description*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/base.item.d.ts:21*

___
<a id="draftid"></a>

### `<Optional>` draftId

**● draftId**: *`string`*

*Inherited from ContentItem.draftId*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/content/content.item.d.ts:12*

TBD

___
<a id="draftstatus"></a>

### `<Optional>` draftStatus

**● draftStatus**: *"pending" \| "approved"*

*Inherited from ContentItem.draftStatus*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/content/content.item.d.ts:16*

TBD

___
<a id="elements"></a>

###  elements

**● elements**: *`object`*

*Overrides ContentItem.elements*

*Defined in services/config/application.config.ts:11*

#### Type declaration

[key: `string`]: `Element`

___
<a id="id"></a>

###  id

**● id**: *`string`*

*Overrides BaseDeliveryItem.id*

*Defined in services/config/application.config.ts:5*

___
<a id="kind"></a>

###  kind

**● kind**: *`CONTENT_ITEM_KIND`[]*

*Inherited from ContentItem.kind*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/content/content.item.d.ts:8*

Kind of a content item

___
<a id="lastmodified"></a>

### `<Optional>` lastModified

**● lastModified**: *`string`*

*Inherited from BaseDeliveryItem.lastModified*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/base.item.d.ts:17*

___
<a id="lastmodifierid"></a>

### `<Optional>` lastModifierId

**● lastModifierId**: *`string`*

*Inherited from BaseDeliveryItem.lastModifierId*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/base.item.d.ts:18*

___
<a id="locale"></a>

### `<Optional>` locale

**● locale**: *`string`*

*Inherited from ContentItem.locale*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/content/content.item.d.ts:18*

___
<a id="name"></a>

###  name

**● name**: *`string`*

*Overrides BaseDeliveryItem.name*

*Defined in services/config/application.config.ts:6*

___
<a id="rev"></a>

### `<Optional>` rev

**● rev**: *`string`*

*Inherited from BaseDeliveryItem.rev*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/base.item.d.ts:14*

___
<a id="tags"></a>

### `<Optional>` tags

**● tags**: *`Array`<`string`>*

*Inherited from ContentItem.tags*

*Defined in /usr/build/node_modules/@ibm-wch-sdk/api/interfaces/delivery/v1/content/content.item.d.ts:19*

___
<a id="type"></a>

###  type

**● type**: *`string`*

*Overrides ContentItem.type*

*Defined in services/config/application.config.ts:8*

___
<a id="typeid"></a>

###  typeId

**● typeId**: *`string`*

*Overrides ContentItem.typeId*

*Defined in services/config/application.config.ts:9*

___


<a name="_edd9858b113c3658569fc98cefa7eacb71f80a813caaac5a54be6fd51ce74e1c"></a>
# BootstrapService
This service allows to register data records that are compiled into the application. These records are used to bootstrap
the application loading. Whenever a rendering context or the site is requested from WCH, data registered with this service will be used as a placeholder, first (if available). As soon as the real data becomes available, the new data replace the placeholder.

Consider also the the inline form of the [@RenderingContextBootstrap](#_5506fbd3bce3f5939c9c8a03205fb2bc881e62213d21bfd4f1a3fc7eef267c28) or [@SiteBootstrap](#_5506fbd3bce3f5939c9c8a03205fb2bc881e62213d21bfd4f1a3fc7eef267c28) instead.

## Methods
* `put(key, value)`: adds a data record, the key is the path used to fetch the data, the value the data record as string or JSON

<a name="_3945effdd05b3e4fbaf1dfa8310b7ffb082dd200caaddaad708256e2ed7efe22"></a>
# LayoutMappingService

This service allow to register layout mappings. Consider to use the inline form of the [@LayoutComponent](#_79e64e744e1a60fe26344df9abd530ef32849774b9c22887da485e3d35a9e9d6) instead.

## Methods

* `registerMapping(id, sel, mode?)`: registers a new layout mapping. The `id` is a content node ID, content type ID or content type name. The `sel` selector is either the name of the layout or the type object. In case the type object is given, the mapping will be registered with the selector attached to the type. The mode identifies  the layout mode to register the mapping for. If missing the default mode will be assumed.

## Note

When the [ContentRefComponent](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce) tries to locale an Angular component for a [RenderingContext](#_c67a54fbe639545fc8ecc33a206087da27aab36585eca9f5671d52da5484a234) it will use the `layouts` field in the context. If this field is missing or if the specified layout cannot be located, it consults the LayoutMappingService to find a default mapping for the context. This allows the application developer to define application level fallbacks for these mappings, that can however be overridden by the business user.
<a name="_a8da2eda4287448d6feafc7d6945b06aeeac99c0f32569a8c53b8db4329d91c7"></a>
# WchInfoService

The service provides access to global, unmodifiable configuration data when accessing the [WCH](https://www.ibm.com/products/watson-content-hub) backend.

The URL information is obtained as follows:

- The services uses the [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027) provided by the application. If this service defines and `apiUrl` or a `deliveryUrl`, this configuration is used as a baseline.
- Without configuration in the [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027), the service detects the [baseUrl](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base) of the currently rendered document. This is either determined from the [DOCUMENT](https://angular.io/api/common/DOCUMENT) token or from the window, if the document is not available.

### URLs from Configuration

If both the `apiUrl` and the `deliveryUrl` variables are defined on the [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027), the configured values are used. If only one is configured, the other is derived from the configured setting.

### URLs from BaseURL

If the `apiUrl` and the `deliveryUrl` are decoded from the [baseUrl](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base), then the `baseUrl` is parsed to decide if it represents a URL with a tenant identifier or a custom hostname. The URLs are then built depending on the result.

## Members

- `apiUrl`: the URL object representing the API entry point. The URL ends with a trailing slash.
- `deliveryUrl`: the URL object representing the delivery entry point. The URL ends with a trailing slash.
- `isPreviewMode`: true if the application runs in preview mode, else false.
- `baseUrl`: optionally the base URL of the document that served the application. This can be undefined in case the application is rendered by [Angular Universal](https://universal.angular.io/).

## Note

- This service is related to the [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027) but differs by the fact that the `WchInfoService` represents the configuration data after all fallbacks have been applied, this is the data actually used by other SDK services. The [HubInfoService](#_1ce319327f59a61dde8cdc287b1bee80a76b7aca861d7015641c6e96d9783027) however represents input data from the application, this data can be incomplete and would be filled in with defaults.
- There is not special check for `localhost`. In local development mode make sure to define the `apiUrl` and/or the `deliveryUrl` to point to your WCH instance.

<a name="_5119acd67a4e6f32ff4a957a7734de424990e28d41a22d44ee947dcd0c5c6ee9"></a>
# ActivePageService
The service provides access to the [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) of the currently selected page.

## Methods
* `onRenderingContext`: an observable of the context of the selected page. If no page is selected, the context will be `null`, so make sure to protect access to members.
<a name="_2dd18fd4183312a7e70288ab611df354ed8f56a2633cd462fd02c90242db7275"></a>
# SDK

The SDK implements the plain JS WCH SDK APIs based on the Angular framwork.

## Properties

* [router](#_5efa175bc3c6098f34438d10ad2c57a31f7f04bc430e8552bf44085ffc153926)
* [jsonp](#_47726bd05a3d400a7d065400895389bb1ac78902883f54d4bb6ab99f39efbac3)
* [version] the current version of the SDK, including a version number and the build date

## Methods

* `refresh()`: causes the currently displayed data to be refreshed

The SDK is available on the global window object

```javascript
window.WchSdk
```


<a name="_f14a3554bad29ba4c7d4e23139d09320b6afe3e8caf4a8b0521b328799a2ad82"></a>
# SearchService

The search service allows to perform searches against the WCH index for rendering contexts or pages. The search results are
kept current, automatically, based on the configured refresh interval.

## Methods

* `getRenderingContexts(query, levels?)`: an observable of rendering contexts. The query must be a query against content items and will be resolved by the rendering contexts for these content items. The query will automatically be limited to content items and will ignore any field list options.
* `getSitePages(query)`: an observable of site pages. The query must be a query against pages and will be resolved by an array of page instances. The query will automatically be limited to pages and will ignore any field list options. The resulting pages will automatically only contain pages for the current site.

## References

* the result of `getRenderingContexts` can be rendered using the [wch-contentref](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce) component.
* the result of `getSitePages` can be rendered using the [wch-pageref](#_ca2823c1b45b2e19aa6191e41f1c976fa876a6b76857b8b55628daaaa3db9b1e) component.


<a name="_8097a56d4176a2568a9555662f6562b630f1d0dce29b65129329defe9451b940"></a>
# RefreshService

The refresh service allows to trigger a refresh of all data records that are managed by the SDK and that are based on REST request against the SDK, e.g. the rendering context, site structure or search results. Call this service to force an update after server side information has changed.

## Methods

* `refresh()`: Triggers the refresh call.



<a name="_96877c8c36f9d905af33ac87fd26c556ca02d5053045380411692681e4490619"></a>
# Reactive Stream

[Angular](https://angular.io/) leverages the power of [Reactive Streams](http://reactivex.io/rxjs/) across its APIs and applying this pattern for custom applications will make them faster and easier to maintain. In this chapter we discuss how to combine [Reactive Streams](http://reactivex.io/rxjs/) with the `ibm-wch-sdk-ng`.

* [Async Pipe vs Value Bindings](#_196e2b7b56ed4c65b35e849b5722c51b36d4d731645b8c90dab87684abfcb35b)
<a name="_858ace716c7d2a2bfaea6e4c4475e9a6108ef1b09bf46a926702a63f06eac05c"></a>
# Build Aspects

This section discusses aspects that are relevant for building your application.

* [Ahead of Time Compilation](#_cd57f3bd7e781fe5791dece99e0a3f7790dff7d63b8be948b9bbbb7b20c9ed87)
<a name="_00a9165ef9a765d758bac60b9e0d2643a7faad196cf1f0928bfb48ce6511b0e3"></a>
# External Hosting

When writing single page applications using the `@ibm-wch-sdk/ng` they are typically hosted on [WCH](https://www.ibm.com/products/watson-content-hub). In this case the SDK can automatically detect the correct [API URL](https://developer.ibm.com/customer-engagement/tutorials/getting-started-api-javascript/) from the URL the application has been served from.

In case the application is hosted on a custom web server, this is not possible, automatically, and the correct [API URL](https://developer.ibm.com/customer-engagement/tutorials/getting-started-api-javascript/) has to be configured by the application. In this section we discuss the required configuration steps:

## Configuration in the SPA

The [API URL](https://developer.ibm.com/customer-engagement/tutorials/getting-started-api-javascript/) is configured in the config object passed to `WchNgModule.forRoot(config)` in your application root module. Typically the config object is the CLI [environment](https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/application-environments.md) object.

For externally hosted applications the API URL is different for the live mode and the preview mode of the application. It is in the responsivility of the single page application to tell what mode it is running in. Typically this is determined based on the hostname.

We recommend the following way to configure the API URL (see also documentation for [@ibm-wch-sdk/utils](https://www.npmjs.com/package/@ibm-wch-sdk/utils):

`environment.ts`

```typescript
import { HubInfoUrlProvider } from '@ibm-wch-sdk/api';
import { wchGetHubInfoUrlProvider } from '@ibm-wch-sdk/utils';

export function apiUrl(): HubInfoUrlProvider {
  return wchGetHubInfoUrlProvider(
    'https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb',
    baseURL => /preview/.test(baseURL.href)
  );
}

export const environment = {
  apiUrl
};
```

- Provide a `function` that returns the configuration provider. This provider computes the correct API based on the `baseURL` of the application and the live version of the API URL. A customer provided callback tells based on the `baseURL` if the application is running in live mode or in preview mode. The correct API URL will then be computed by the `wchGetHubInfoUrlProvider` method.
- The live/preview mode detection callback can be omitted if you application uses the scheme `https://<PREFIX>-preview.<SUFFIX>` for the preview domain.
- Register this function as `apiUrl` in the config object. Do NOT configure the `deliveryUrl` option, this will be computed based on the `apiUrl` automatically.

### For Oslo based Applications

If your application is derived from [Oslo](https://github.com/ibm-wch/wch-site-application) then the live version of the API URL is configured in the `/src/aps/Constants.ts` class. Use this value in the example above, e.g. such as:

`/src/app/environment/environment.ts`:

```typescript
import { HubInfoUrlProvider } from '@ibm-wch-sdk/api';
import { wchGetHubInfoUrlProvider } from '@ibm-wch-sdk/utils';
import { Constants } from '../Constants';

export function apiUrl(): HubInfoUrlProvider {
  return wchGetHubInfoUrlProvider(Constants.apiUrl, baseURL =>
    /preview/.test(baseURL.href)
  );
}

export const environment = {
  apiUrl
};
```

- Make sure that your application uses the `WchInfoService` to access the configured API URL in the implementation code of the application. Do NOT access the `Constants.apiUrl` anywhere other than in the previously mentioned configuration section.

## Configuration in the Site Records

The hostname of you externally hosted application has to be configured as part of the WCH Site.

- Use [wchtools](https://www.npmjs.com/package/wchtools-cli) to pull the site record to your local system
- Edit the site json record and fill in the `externalURL` and `externalPreviewURL`. These values are required to be https, in order to prevent loading insecure content. Both URLs should be the full URL to where the preview site is hosted (e.g `https://my-external-site.com/` or `https://my-external-site.com/example-path/`).
- Push the changes back using [wchtools](https://www.npmjs.com/package/wchtools-cli).

<a name="_9905c83088dec96e70a3cddd74ebeb97b593b8fc3fbecf4e7df83a0402b5daba"></a>
# URL Management

Refer to the documentation of the [UrlsService](#_9b6340ec372240b53c57e6d77393092f5979b498fd74d41b55d52ecdcf136ad2) to learn more about URLs in the WCH SDK.

## Browse on external Domain, host on WCH

In this usecase we explore a setup in which you browse your application on your custom domain (which does not have to be managed by WCH) but you would like to host the application binaries and the content on WCH. This e.g. makes sense if you already own a domain that you would like to reuse but you'd like to benefit from the CDN capabilities of WCH to speed up delivery.

Let's assume for a sample setup a custom domain `https://my.custom.domain.com` and a WCH tenant with the delivery URL `http://myX.digitalexperience.ibm.com/TENANTID/`.

You would like to deploy your application with a context root, since it needs to run alongside other applications that you might have deployed already, so let the base URL of the application be `https://my.custom.domain.com/my-app/`.

Following this [nomenclature](#_9b6340ec372240b53c57e6d77393092f5979b498fd74d41b55d52ecdcf136ad2) this leads to the following URL configuration:

| Type        | URL                                                |
| ----------- | -------------------------------------------------- |
| apiUrl      | http://myX.digitalexperience.ibm.com/api/TENANTID/ |
| deliveryUrl | http://myX.digitalexperience.ibm.com/TENANTID/     |
| baseUrl     | https://my.custom.domain.com/my-app/               |
| resourceUrl | http://myX.digitalexperience.ibm.com/TENANTID/     |

### Configuration in the AppModule

Do not configure any URL in the `/src/app/app.module.ts`.

### Configuration in the Kicker File

Configure the `${baseUrl}` and the `${apiUrl}?` in your kicker file `/src/index.html`:

```html
<!doctype html>
<html lang="en">
<head>
  <!-- used to load static resources -->
  <base href="http://myX.digitalexperience.ibm.com/TENANTID/">
  <!-- used to make API calls -->
  <link rel="wch-config-api-url" href="http://myX.digitalexperience.ibm.com/api/TENANTID/">
  <!-- basis for routing -->
  <link rel="wch-config-base-url" href="https://my.custom.domain.com/my-app/">

  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <app-root></app-root>
  <script type="text/javascript" src="main.js">
</body>
</html>
```

### Configuration of the Server

* Upload the kicker file (just the kicker, not the application binaries) to your web server such that it will be served from `https://my.custom.domain.com/my-app/`.
* Upload the application binaries to WCH
* Make sure you route all path requests to your kicker file at `https://my.custom.domain.com/my-app/index.html`. In case your server is an [Apache](https://httpd.apache.org/docs/current/mod/mod_rewrite.html) server, add the following `.htaccess` file to your application root folder:

`/my-app/.htaccess`

```.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) index.html [NC,L]
```

<a name="_0ea2538687f5a7cb5cc176ec72fcdb2a8c64883ee259b1a30d81f3492694eec8"></a>
# SiteComponent
The page component provides the rendering context for the default configuration content item for the site. You can use
this e.g. to render a site navigation.

## Usage
The component does not require any specific configuration, it attaches itself to the site configuration

Usage in HTML:
```html
<wch-site></wch-site>
```

## Attributes
* `layoutMode`: optionally pass the layout mode to be used when rendering the page. If not specified, the system uses the default mode.

## Events
* `onRenderingContext`: the [rendering context](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) for the page as soon as it has been loaded
* `onLayoutMode`: the layout mode used to render this page.

## Error handling
If the site cannot be decoded, the system will look for a component mapped to the [PAGE_NOT_FOUND_LAYOUT](#_32a765b3b5fb30276418839f2cae827a486d81fdd63b1bc89039ec6d4d2a9caf) layout and instantiates this with an empty rendering context.

## WCH Dependency
The site component uses the default site confiuration content item to construct its rendering context.
<a name="_ca2823c1b45b2e19aa6191e41f1c976fa876a6b76857b8b55628daaaa3db9b1e"></a>
# PagerefComponent

The page ref component renders the content item referenced by a page. The extended context for the [rendering context](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) used to render the item contains the given page and the context for the page (siblings, breadcrumb etc). So this component renders the content item in the context of the given page.

## Usage

Usage in HTML:

```html
<wch-pageref [sitePage]="..."></wch-pageref>
```

## Attributes

* `sitePage`: the page object for the page to be rendered. This can e.g. be determined via a search.
* `layoutMode`: the layout mode used to render the component. If not specified the system uses a default.
* `levels`: the number of levels to resolve nested rendering contexts. Defaults to `-1` which means to resolve all levels.

## Events

* `onRenderingContext`: fired when the rendering context has changed
* `onComponent`: the actual angular component instance that gets created
* `onComponentOutput`: a proxied output event sent by the dynamically created component. This event will be wrapped into a [ComponentOutput](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce) interface.

## Notice

This component is closely related to [wch-contentref](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce).
<a name="_ee211c3a0579ab4a68dc7bf36197874a15f7be3217afa53122e5af50c2a0b3b2"></a>
# ContentComponent

The content component acts as a proxy component and renders that component that is referenced by the `id` element that identifies the component by its ID.

## Usage

Usage in HTML:

```html
<wch-content [id]="..." (onRenderingContext)="..."></wch-content>
```

## Attributes

* `id`: the UUID of the selected component
* `layoutMode`: the layout mode used to render the component. If not specified the system uses a default.

## Events

* `onRenderingContext`: fired when the rendering context has changed
* `onComponent`: the actual angular component instance that gets created
* `onComponentOutput`: a proxied output event sent by the dynamically created component. This event will be wrapped into a [ComponentOutput](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce) interface.

## Notice

This component is closely related to [wch-contentref](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce).
<a name="_ba0050754613bc4ee351bda201a5bbcccb20903288daa3090c69d6a873e44112"></a>
# ContentQueryComponent

The content query component is meant to render components that are referenced as the result of a WCH search query.

## Usage

Usage in HTML:

```html
<!-- assign the instance a local name, so we can reference its properties inside the content projection -->
<wch-contentquery [query]='...' #q>
    <!-- use the local name to access the list -->
    <wch-contentref *ngFor="let rc of q.onRenderingContexts | async" [renderingContext]="rc"></wch-contentref>
</wch-contentquery>
```

## Attributes

* `query`: the search query. This is the query string part as passed to the search REST service, e.g. `fq=type:("habitat%5C-voyeur%5C-profile%5C-page")&rows=50&start=0`. The component requires that the search returns only documents classified as components and and that it includes the document as a JSON object. The relevant query parameters will be added automatically to the provided query and will potentially override existing parameters. Also if the `q` parameters is missing, it will be filled in with `*:*` automatically. Recommendation: do not include a `fl` parameter nor a `fq` parameters that filters on classification. The attribute can be a string (in which case it has to be a correctly escaped query string), a plain JSON object with string keys and `string` or `string[]` as values or an implementation of [URLSearchParams](https://url.spec.whatwg.org/#urlsearchparams).

## Events

* `onRenderingContexts`: an observable of the [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) array for the search results

## Note

The component relies on content projection to render the result of the query. Assign a local identifier to the `wch-contentquery` component and access the async query result inside the content (e.g. via a `ngFor` loop).

The query attribute must be a correctly escaped query string if the string version is used. Each parameter in that query has to be escaped according to [Solr Query Syntax](http://www.solrtutorial.com/solr-query-syntax.html) rules. Since this can be relatively tedious, developers might want to use a library such as [lucene-query-string-builder](https://www.npmjs.com/package/lucene-query-string-builder) to build the lucene query strings. The following example illustrates this. Note that the sample constructs a query POJO object to have the SDK to the proper URL escaping. The values of the POJO only have to be escaped in [Solr Query Syntax](http://www.solrtutorial.com/solr-query-syntax.html).

```typescript
import { Query } from 'ibm-wch-sdk-ng';
import * as lucene from 'lucene-query-string-builder';

export class TypeCarouselComponent extends AbstractCarouselComponent {

    // contains the correctly escaped query object based on a tags field
    onQuery: Observable<Query>;

    constructor() {

        // builds the lucene query for tags
        const queryBuilder: (string) => string = lucene.builder((tagString: string) => {
            // shortcut
            const _ = lucene;
            // split and map
            return _.group(_.and(
                _.field('type', _.term('Story')),
                _.field('tags', _.group(_.or(...tagString.split(',').map(s => s.trim()).map(_.term))))
            ));
        });

        // construct the query string object
        this.onQuery = this.onQueryTags.filter(Boolean)
            .map(queryBuilder)
            .map(q => ({
                'q': q,
                'sort': 'lastModified desc'
            }));
    }
}
```

In the HTML template then use:

```html
<wch-contentquery [query]="onQuery | async" #q>
    ...
</wch-contentquery>
```


<a name="_2586b28aeb50789dea20d1a65242893104d0aa6b824a8c7fb0702ab455a0b2cc"></a>
# ContentPathComponent

The content component acts as a proxy component and renders that component that is referenced by its route (the URL path).

## Usage

Usage in HTML:

```html
<wch-contentpath [path]="..." (onRenderingContext)="..."></wch-contentpath>
```

## Attributes

* `path`: the (escaped) path to the component
* `layoutMode`: the layout mode used to render the component. If not specified the system uses a default.

## Events

* `onRenderingContext`: fired when the rendering context has changed
* `onComponent`: the actual angular component instance that gets created
* `onComponentOutput`: a proxied output event sent by the dynamically created component. This event will be wrapped into a [ComponentOutput](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce) interface.

## Notice

This component is closely related to [wch-contentref](#_7133c4798b9f48c4213e1ce998fc4f8be545674c19e52c3e4a884082c7d908ce).
<a name="_7a2b1e866077ba4205bd4e91e892e16a51e09b4255939dfc5ebe7c9417b271ee"></a>
# Default Component

Default component that is displayed if the layout could not be resolved. The component shows per design empty content.
<a name="_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/bootstrap/bootstrap.service"](#_238690f5b301836e922f4faffb225e6c2ba94c7a0bbe6e26a538d1844bee357a) > [BootstrapService](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)

# Class: BootstrapService

## Hierarchy

**BootstrapService**

## Implements

* `OnDestroy`

## Index

### Constructors

* [constructor](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)

### Methods

* [get](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)
* [ngOnDestroy](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)
* [put](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)
* [putContentWithLayout](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)
* [putSite](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new BootstrapService**(): [BootstrapService](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)

*Defined in services/bootstrap/bootstrap.service.ts:18*

**Returns:** [BootstrapService](#_4ebc8c8028b34654992dba63f4b689973122da081a5ac76456e933f15886e7dd)

___

## Methods

<a id="get"></a>

###  get

▸ **get**(aKey: *`string`*): `Observable`<`AnyJson`>

*Defined in services/bootstrap/bootstrap.service.ts:27*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |

**Returns:** `Observable`<`AnyJson`>

___
<a id="ngondestroy"></a>

###  ngOnDestroy

▸ **ngOnDestroy**(): `void`

*Defined in services/bootstrap/bootstrap.service.ts:44*

**Returns:** `void`

___
<a id="put"></a>

###  put

▸ **put**(aKey: *`string`*, aValue: *`AnyJson` \| `string` \| `ObservableInput`<`AnyJson`> \| `Generator`<`AnyJson`>*): `void`

*Defined in services/bootstrap/bootstrap.service.ts:32*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aKey | `string` |
| aValue | `AnyJson` \| `string` \| `ObservableInput`<`AnyJson`> \| `Generator`<`AnyJson`> |

**Returns:** `void`

___
<a id="putcontentwithlayout"></a>

###  putContentWithLayout

▸ **putContentWithLayout**(aContext: *`ContentItemWithLayout` \| `string`*): `void`

*Defined in services/bootstrap/bootstrap.service.ts:36*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aContext | `ContentItemWithLayout` \| `string` |

**Returns:** `void`

___
<a id="putsite"></a>

###  putSite

▸ **putSite**(aSite: *`Site` \| `string`*): `void`

*Defined in services/bootstrap/bootstrap.service.ts:40*

**Parameters:**

| Name | Type |
| ------ | ------ |
| aSite | `Site` \| `string` |

**Returns:** `void`

___


<a name="_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/components/components.service"](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc) > [ByLayoutModeMapping](#_197a63b5658d07a4709d070780d7708a40504781a5e25c09554c5a9885b0320a)

# Interface: ByLayoutModeMapping

## Hierarchy

**ByLayoutModeMapping**

## Indexable

\[layoutMode: `string`\]:&nbsp;[BySelectorMapping](#_396f371f7732c825e26877cde19dc192dd56b459501216f0eec39946e2675150)
## Index

---


<a name="_396f371f7732c825e26877cde19dc192dd56b459501216f0eec39946e2675150"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/components/components.service"](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc) > [BySelectorMapping](#_396f371f7732c825e26877cde19dc192dd56b459501216f0eec39946e2675150)

# Interface: BySelectorMapping

## Hierarchy

**BySelectorMapping**

## Indexable

\[selector: `string`\]:&nbsp;[MappingEntry](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)
## Index

---


<a name="_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9"></a>
[@ibm-wch-sdk/ng](#_96fdf8c61d5bb26367a408e8d5dba5da59ddf12345ac319ff3123e2c56e986f0) > ["services/components/components.service"](#_e8bdc4538796d3775639f2510f3c21bd6cc5959a90a7720c4204b0e12537b4fc) > [MappingEntry](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)

# Interface: MappingEntry

## Hierarchy

**MappingEntry**

## Index

### Properties

* [ob](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)
* [sub](#_84ab88f028db4f4bb56a747d2ed3e0f86b6763d33561f07bd3caa73333d7afb9)

---

## Properties

<a id="ob"></a>

###  ob

**● ob**: *`Observable`<`ComponentTypeRef`<`any`>>*

*Defined in services/components/components.service.ts:35*

___
<a id="sub"></a>

###  sub

**● sub**: *`Subject`<`ComponentTypeRef`<`any`>>*

*Defined in services/components/components.service.ts:34*

___


<a name="_5506fbd3bce3f5939c9c8a03205fb2bc881e62213d21bfd4f1a3fc7eef267c28"></a>
The purpose of the bootstrap directives is to conveniently register initialization data objects with the [BootstrapService](#_edd9858b113c3658569fc98cefa7eacb71f80a813caaac5a54be6fd51ce74e1c).

# RenderingContextBootstrap

This directive declares a static property of type [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) as a bootrapped data set and registers it with the [BootstrapService](#_edd9858b113c3658569fc98cefa7eacb71f80a813caaac5a54be6fd51ce74e1c). The registration will automatically take the `id` into account.

```typescript
class MyDataSet {
  @RenderingContextBootstrap()
  static myContent: RenderingContext = {...};
}
```

# SiteBootstrap

This directive declares a ***static*** property of type [Site](#_880dd3faf7443689e8961d0ca383690b904c7683c7708b2d764ee4d058d260db) as a bootrapped data set and registers it with the [BootstrapService](#_edd9858b113c3658569fc98cefa7eacb71f80a813caaac5a54be6fd51ce74e1c). The registration will automatically take the `id` into account.

```typescript
class MyDataSet {
  @SiteBootstrap()
  static mySite: Site = {...};
}
```

Alternatively you can import the [Site](#_880dd3faf7443689e8961d0ca383690b904c7683c7708b2d764ee4d058d260db) directly from a JSON file, the default [Angular CLI](https://cli.angular.io/) build process is able to integrate this into the final bundle. This approach is more convenient, since it keeps data and code separate at development time. The JSON file can also be generated as part of a build step via the `create site` command from the [ibm-wch-sdk-cli](https://www.npmjs.com/package/ibm-wch-sdk-cli).

* Make sure to define the [Site](#_880dd3faf7443689e8961d0ca383690b904c7683c7708b2d764ee4d058d260db) JSON as a module in the `typings.d.ts` file, e.g. like this:

```typescript
declare module "*/site.json" {
  const value: any;
  export default value;
}
```

* import the JSON file in your application, e.g. in the `AppModule` and declare the bootstrap:

```typescript
import { Site, SiteBootstrap } from 'ibm-wch-sdk-ng';
import * as DEFAULT_SITE from './../assets/delivery/v1/rendering/sites/site.json';

...

export class AppModule {

  @SiteBootstrap({siteId: 'default'})
  static mySite = DEFAULT_SITE;
}
```
<a name="_5efa175bc3c6098f34438d10ad2c57a31f7f04bc430e8552bf44085ffc153926"></a>
# SdkRouter

The SDK router allows to navigate to WCH pages or components.

## Methods

* `navigateByPath(path: string): PromiseLike<boolean>`: navigates to a WCH component given its path. The path can be read from the site information in the [RenderingContext](#_e85450ea16246a3e0ff45a1d4454cf0289c2825a0cc4a222723860b94f3a9cdf). The return value indicates when this navigation has completed.
* `activeRoute(): Observable<SitePage>`: returns the active route in form of a page reference
* `activeRenderingContext(): Observable<RenderingContext>`: returns the active rendering context
<a name="_47726bd05a3d400a7d065400895389bb1ac78902883f54d4bb6ab99f39efbac3"></a>
# SdkJsonp

Support layer for making [JSONP](https://en.wikipedia.org/wiki/JSONP) calls. This service provides means to register callback functions.

## Methods

* `addCallback(url: string, cb: Function): string`: registers a callback function to handle the JSONP data callback for the given URL. The method will not send any request, but will only register the callback. The resulting value is the name of the callback. Make sure to unregister the callback after it is no longer used.
* `removeCallback(aName: string): boolean`: unregisters a previously registered callback. Pass in the value returned by the `addCallback` method.
<a name="_196e2b7b56ed4c65b35e849b5722c51b36d4d731645b8c90dab87684abfcb35b"></a>
# Async Pipes vs Value Bindings

In a layout component your HTML template will need to access aspects of the [RenderingContext](#_3417387c9f3cabff2993f11216a291653af8e461b333e6ac814281457e455861) and probably also data derived from the context.
<a name="_9b6340ec372240b53c57e6d77393092f5979b498fd74d41b55d52ecdcf136ad2"></a>
# UrlsService

Single page applications running on WCH conceptually need to distinguish the following URLs:

- `apiUrl`: the [base URL](https://developer.ibm.com/customer-engagement/tutorials/getting-started-api-javascript/) used to make requests against the [WCH REST](https://developer.ibm.com/api/view/dx-prod:ibm-watson-content-hub:title-IBM_Watson_Content_Hub) service. Use this URL as a prefix for all routes defined in the API documentation.
- `deliveryUrl`: the base URL used to load generic static resources (e.g. images, CSS or config files) from WCH.
- `baseUrl`: the URL prefix for all page URLs, i.e. this prefix is preserved when generating and recognizing URLs. The `route` property of a page is a suffix of this URL.
- `resourceUrl`: the base URL used to load the application binaries.

In the following section we show how and where these URLs are used. **Note** all base URLs end with a trailing slash by convention, to allow the use of [relative URLs](https://www.w3.org/TR/WD-html40-970917/htmlweb.html#h-5.1.2).

## Index file

The index file (aka `kicker` file) is an HTML file that provides the bootstrap markup for an application and that loads the required javascript and styles files. Its generic structure is as follows:

```html
<!doctype html>
<html lang="en">
<head>
  <base href="${resourceUrl}">
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <app-root></app-root>
  <script type="text/javascript" src="main.js">
</body>
</html>
```

The file defines the base URL it uses to load its resources via the `<base>` tag. This URL is conceptually the `resourceUrl`. The references to the script and CSS files are then loaded via relative references.

The index file itself is loaded implicitly by the WCH router via the `baseUrl`, i.e. all URLs of the following form will result in loading the `index.html` file:

```
${baseUrl}(segment/)*
```

## Page Routing

Individual pages in the SPA are addressed via URLs of the following format:

```
${baseUrl}(segment/)*
```

where the suffix to the `${baseUrl}` is the (relative) `route` to the pages. The `route` can be controlled by the business user when creating and managing pages.

## API URL

The `${apiUrl}` is used to make REST calls to WCH services. In many cases such calls are made by the [WCH SDK](https://www.npmjs.com/package/@ibm-wch-sdk/ng) implicitly or via APIs exposed by the SDK. In this case the API URL is handled internally by the SDK. In all other cases the application uses the `WchInfoService` to access the API URL or - if available - the `context.hub.apiUrl` property of the current rendering context.

## Delivery URL

The `${deliveryUrl}` is used to access static resources on WCH, e.g. to load image assets. All URLs in the rendering context that reference static assets are a suffix to this delivery URL. The application accesses this URL either via the `WchInfoService` of - if available - from the `context.hub.deliveryUrl` property of the current rendering context.

## Examples

Let's have a look at example combinations of these URLs.

### Application hosted on WCH, no custom hostname

| Type        | URL                                                                              |
| ----------- | -------------------------------------------------------------------------------- |
| apiUrl      | https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/ |
| deliveryUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/     |
| baseUrl     | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/     |
| resourceUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/     |

### Application hosted on WCH, with custom hostname

| Type        | URL                      |
| ----------- | ------------------------ |
| apiUrl      | https://my.host.com/api/ |
| deliveryUrl | https://my.host.com/     |
| baseUrl     | https://my.host.com/     |
| resourceUrl | https://my.host.com/     |

### Application hosted on custom domain

| Type        | URL                                                                              |
| ----------- | -------------------------------------------------------------------------------- |
| apiUrl      | https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/ |
| deliveryUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/     |
| baseUrl     | https://my.host.com/                                                             |
| resourceUrl | https://my.host.com/                                                             |  |

### Application hosted on custom domain alternative

| Type        | URL                                                                              |
| ----------- | -------------------------------------------------------------------------------- |
| apiUrl      | https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/ |
| deliveryUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/     |
| baseUrl     | https://my.host.com/                                                             |
| resourceUrl | https://my.cdn.host.com/appRoot/                                                 |  |

### Application hosted on WCH, multi site support

| Type        | URL                                                                                             |
| ----------- | ----------------------------------------------------------------------------------------------- |
| apiUrl      | https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/ |
| deliveryUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/     |
| baseUrl     | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/     |
| resourceUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/                    |

### Application hosted on WCH, multi site, multi app support

| Type        | URL                                                                                             |
| ----------- | ----------------------------------------------------------------------------------------------- |
| apiUrl      | https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/ |
| deliveryUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/     |
| baseUrl     | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/     |
| resourceUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/appRoot/            |

### Local Development mode

| Type        | URL                                                                                             |
| ----------- | ----------------------------------------------------------------------------------------------- |
| apiUrl      | https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/ |
| deliveryUrl | https://my10.digitalexperience.ibm.com/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/dxsites/mysite/     |
| baseUrl     | http://localhost:4200/                                                                          |
| resourceUrl | http://localhost:4200/                                                                          |

## Configuration

In this section we discuss how to configure the different URLs. The goal of the configuration is to allow for each configuration option mentioned above, while keeping the redundancy at a minimum.

### Resource URL

The resource URL is part of the `<base>` tag of the `index.html` file. It is typically added by the build process. **Note** that per [spec](https://html.spec.whatwg.org/multipage/semantics.html#the-base-element) the URL needs to be absolute. In practice however server relative URLs also work, so if the [origin](https://url.spec.whatwg.org/#concept-url-origin) of the `baseUrl` matches that of the `resourceUrl` you can omit the origin for simplicity reasons.

The [Angular CLI](https://cli.angular.io/) allows to specify this URL via the [--base-href](https://github.com/angular/angular-cli/wiki/build) command line parameter.

#### Example

This Angular build command

```bash
ng build --base-href /6f0ce0ff-8a25-4fac-b66a-5d42516247eb/
```

creates an `index.html` file similar to the following:

```html
<!doctype html>
<html lang="en">
<head>
  <base href="/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/">
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <app-root></app-root>
  <script type="text/javascript" src="main.js">
</body>
</html>
```

### API URL and Delivery URL

Either of the URLs can be derived from the other, so it is only required to **configure one** of them (if any).

Only configure these URLs if the `deliveryUrl` is NOT a prefix of the `baseUrl`. Otherwise the `deliveryUrl` and the `apiUrl` will be decoded from the `baseUrl`, automatically. This avoids redundancy and allows you to move your application across hosts without recompilation.

If required, the configuration is done via the `WchNgModule.forRoot(...)` options. We recommend to distinguish between configuration for the local development mode and remote production mode, because for local development mode the URLs have always to be configured, for production mode only for externally hosted applications.

Angular supports the concept of [environments](https://github.com/angular/angular-cli/wiki/stories-application-environments) to distinguish between these development modes.

#### Example

For the development setup configure the file in `/src/environments/environment.ts` as follows:

```typescript
export const environment = {
  apiUrl: 'https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/',
  production: false
};
```

in the same project define the production environment in `/src/environments/environment.prod.ts` as follows:

```typescript
export const environment = {
  production: true
};
```

In `/src/app/app.module.ts` include the SDK module and use the environment as a configuration object:

```typescript
import { environment } from '../environments/environment';

@NgModule({
  imports: [
    WchNgModule.forRoot(environment),
  ]
})
export class AppModule {}
```

The build process will now pick up the correct file depending on your build options.

An alternative way to configure the API URL is via the `index.html` file by adding a link with `rel="wch-config-api-url"` which will be used if the `WchNgModule.forRoot` configuration does not contain a value. This way to configure the URL keeps the JS code independent of absolute URLs (e.g. the tenant or sites information), so you can share the same application across multiple deployments more easily.

### Example

In `/src/index.html` file add the `<link rel="wch-config-api-url">` tag:

```html
<!doctype html>
<html lang="en">
<head>
  <base href="${resourceUrl}">
  <link rel="wch-config-api-url" href="${apiUrl}">
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <app-root></app-root>
  <script type="text/javascript" src="main.js">
</body>
</html>
```

The precedence order of configuration lookups is `WchNgModule.forRoot` > `<link rel="wch-config-api-url">` > `window.location`.

### Base URL

The base URL is the URL to address your pages with. If your application is hosted on WCH, nothing has to be configured, since the `index.html` file is loaded from the location `${baseUrl}/index.html` automatically and WCH detects the base URL, automatically.

If your application is hosted externally, make sure that your external server supports the [PathLocationStrategy](https://angular.io/api/common/PathLocationStrategy), i.e. that all URLs that are a suffix of your `${baseUrl}` and that address application pages, serve back the content of your `index.html` file. The exact setup depends on your **webserver**, for Apache you can find a guide [here](https://github.com/mgechev/angular-seed/wiki/Deploying-prod-build-to-Apache-2).

If you `${baseUrl}` is not identical to its [origin](https://url.spec.whatwg.org/#concept-url-origin) (i.e. if it contains a context root), then you need to configure the base URL in the **SDK**. Follow the same pattern as for the `${apiUrl}` using the token `baseUrl`.

#### Example

```typescript
export const environment = {
  apiUrl: 'https://my10.digitalexperience.ibm.com/api/6f0ce0ff-8a25-4fac-b66a-5d42516247eb/',
  baseUrl: 'https://my.host.com/contextRoot/',
  production: true
};
```

An alternative way to configure the API URL is via the `index.html` file by adding a link with `rel="wch-config-base-url"` which will be used if the `WchNgModule.forRoot` configuration does not contain a value. This way to configure the URL keeps the JS code independent of absolute URLs (e.g. the tenant or sites information), so you can share the same application across multiple deployments more easily.

```html
<!doctype html>
<html lang="en">
<head>
  <base href="${resourceUrl}">
  <link rel="wch-config-base-url" href="${baseUrl}">
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <app-root></app-root>
  <script type="text/javascript" src="main.js">
</body>
</html>
```

The precedence order of configuration lookups is `WchNgModule.forRoot` > `<link rel="wch-config-base-url">` > `window.location`.

In order to integrate with the authoring UI of WCH, you also need to add configuration data to the site record to tell `${baseUrl}`, so WCH can launch the application under its correct URL.

#### Example

In the `site.json` record, set the property `externalURL` to your `${baseUrl}`:

```json
{
  "name": "Oslo",
  "routingMode": "path",
  "classification": "site",
  "lastModified": "2018-06-11T13:30:36.148Z",
  "lastModifierId": "83167ee6-1775-4d35-9ce2-16d3d6c9ca13",
  "creatorId": "00000000-0000-0000-0000-000000000009",
  "created": "2018-04-06T09:32:46.694Z",
  "id": "default",
  "rev": "4-c81514a9f76f20f4c3386adf180f0f63",

  "externalURL": "https://my.host.com/contextRoot/"
}
```
<a name="_cd57f3bd7e781fe5791dece99e0a3f7790dff7d63b8be948b9bbbb7b20c9ed87"></a>
# Ahead of Time Compilation

The Angular Ahead-of-Time (AOT) compiler converts your Angular HTML and TypeScript code into efficient JavaScript code during the build phase before the browser downloads and runs that code.

* [Documentation](https://angular.io/guide/aot-compiler)
* [Do's and Dont's](https://github.com/rangle/angular-2-aot-sandbox#aot-dos-and-donts)

<a name="_e85450ea16246a3e0ff45a1d4454cf0289c2825a0cc4a222723860b94f3a9cdf"></a>
# Common Interfaces

<a name="_880dd3faf7443689e8961d0ca383690b904c7683c7708b2d764ee4d058d260db"></a>
TODO site docs