Function: MnConfig
▸ MnConfig<TComp
>(config
): (target
: DecoratorTarget
, targetKey?
: string
| symbol
, indexOrPropertyDescriptor?
: number
| TypedPropertyDescriptor
<unknown
>) => void
Decorator that mark the property as component config.
The configuration is a set of values specific to the component that can be totally or partially obtained from the component input. The main advantage of the configuration is that its values can be used by decorators such as the MnSubComponent decorator or event decorators. For example MnOnColumnChange.
The associated property must be named config
. An other property name is not supported.
The config
property must define the type of the configuration and the value of the configuration must be set by the decorator parameter.
The Config
interface contains the property name constraint.
It is recommended to inherit from it when you need to define a config in your component.
Example
Define a simple config (title and description) and fill it with the values "My title" and "My description".
@MnComponent({
scope: {
pageType: "record"
}
})
export class MyComponent implements Config {
@MnConfig({
title: "My title",
description: "My description"
})
config: {
title: string;
description: string;
};
}
Example
Define a component getting partially its configuration from its input.
@MnComponent({
scope: {
pageType: "record"
}
})
export class MyComponent implements Input, Config {
@MnInput()
input: {
title: string;
};
@MnConfig<MyComponent>((input) => ({
title: input.title, // The title is obtained from the input
description: "My description" // The description is a constant
}))
config: {
title: string;
description: string;
};
}
Type parameters
Name | Type |
---|---|
TComp | extends Config = Config |
Parameters
Name | Type | Description |
---|---|---|
config | ConfigOrConfigMapper <TComp > | Configuration values or a function that returns the configuration values from the input. |
Returns
fn
▸ (target
, targetKey?
, indexOrPropertyDescriptor?
): void
Parameters
Name | Type |
---|---|
target | DecoratorTarget |
targetKey? | string | symbol |
indexOrPropertyDescriptor? | number | TypedPropertyDescriptor <unknown > |
Returns
void