Skip to content
Snippets Groups Projects
Commit ab5bf562 authored by François Grand's avatar François Grand
Browse files

feat: add ParamDefinition.allowInvalidValues flag to disable values validation

refs #309
parent b003dd48
No related branches found
No related tags found
No related merge requests found
......@@ -103,6 +103,9 @@ export class ParamDefinition implements INamedIterableValues, IObservable {
/** implémentation par délégation de IObservable */
private _observable: Observable;
/** disable value validation */
private _allowInvalidValues: boolean;
/**
* @param ignoreValue true if provided value must be ignored (@see nghyd/enableEmptyFieldsOnFormInit)
*/
......@@ -131,6 +134,7 @@ export class ParamDefinition implements INamedIterableValues, IObservable {
this.visible = visible;
this.valueMode = ParamValueMode.SINGLE;
this.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
this._allowInvalidValues = false;
this.setDomain(d);
......@@ -578,6 +582,10 @@ export class ParamDefinition implements INamedIterableValues, IObservable {
* an error if value is outside the domain
*/
public checkValueAgainstDomain(v: number) {
if (this._allowInvalidValues) {
return;
}
const sDomain = ParamDomainValue[this._domain.domain];
switch (this._domain.domain) {
......@@ -1208,6 +1216,18 @@ export class ParamDefinition implements INamedIterableValues, IObservable {
return res;
}
public get allowInvalidValues(): boolean {
return this._allowInvalidValues;
}
public set allowInvalidValues(b: boolean) {
const old = this._allowInvalidValues;
this._allowInvalidValues = b;
if (old && !b && !this.isValid) {
throw new Error("ParamDefinition : valeur non valide");
}
}
/**
* notification envoyée après la modification de la valeur du paramètre
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment