jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
98 lines • 3.29 kB
TypeScript
import { IObservable, Observer } from "./internal_modules";
/**
* get enum numerical value from enum class name and value as a string
* @param enumClass enum class name
* @param enumValueName enum value as a string
* @returns enum numerical value
*/
export declare function enumValueFromString(enumClass: string, enumValueName: string): any;
/**
* represents a boolean: true if provided value at parameter creation must be ignore (@see nghyd/enableEmptyFieldsOnFormInit)
*/
export declare const Prop_NullParameters: string;
/**
* Interface permettant de propager de manière transparente des opérations sur des propriétés en encapsulant celles ci
* (implémentée par Props et les classes possédant directement ou indirectement un membre de type Props, par ex Nub)
*/
export interface IProperties extends IObservable {
/**
* get property value
* @param key property name
*/
getPropValue(key: string): any;
/**
* set property value
* @param key property name
* @param val property value to set
* @param sender object from which modification originates
*/
setPropValue(key: string, val: any, sender?: any): boolean;
/**
* determine if this object directly or indirectly has a given property
* @param key property name
*/
hasProperty(key: string): boolean;
/**
* list of properties keys
*/
readonly keys: string[];
}
/**
* gestion d'un ensemble de propriétés (clé/valeur) qui prévient quand
* l'une d'entre-elles change
*/
export declare class Props implements IProperties {
/** correspondance entre les noms de propriétés et les enum associés */
static readonly enumFromProperty: any;
private _observable;
private _map;
constructor(prps?: any | IProperties);
/**
* @returns true if an object implements the IProperties interface
*/
static implementsIProperties(o: any): boolean;
/**
* set properties map from an IProperties
*/
private copyIProperties;
get keys(): string[];
getPropValue(key: string): any;
setPropValue(key: string, val: any, sender?: any): boolean;
removeProp(key: string): void;
hasProperty(key: string): boolean;
getObservers(): Observer[];
/**
* Remove all properties, does not notify of any change
*/
reset(): void;
/**
* Clones properties into a new Props object
*/
clone(): Props;
toString(): string;
/**
* ajoute un observateur à la liste
*/
addObserver(o: Observer): void;
/**
* supprime un observateur de la liste
*/
removeObserver(o: Observer): void;
/**
* notifie un événement aux observateurs
*/
notifyObservers(data: any, sender?: any): void;
/**
* notification de changement de la valeur d'une propriété
* @param prop nom de la propriété modifiée
* @param val nouvelle valeur
* @param sender objet ayant changé la valeur
*/
private notifyPropChange;
/**
* Returns a copy of given map, inverting enum keys and values
*/
static invertEnumKeysAndValuesInProperties(stringProps: any, forceNumbers?: boolean): any;
invertEnumKeysAndValues(forceNumbers?: boolean): any;
}
//# sourceMappingURL=props.d.ts.map