diff --git a/src/session_nub.ts b/src/session_nub.ts index fb9a96d36282d79890ee6bb5170fb025673948f2..781bd7ec1eee7b6771cebc3ad066b2e43cec8c29 100644 --- a/src/session_nub.ts +++ b/src/session_nub.ts @@ -14,7 +14,7 @@ export class Props implements IObservable { public hasProperties(props: Props | {}): boolean { const keys = Object.keys(this._props); - const p = props instanceof Props ? props.props : props; + const p = props instanceof Props ? props._props : props; // if (keys.length != Object.keys(p).length) // return false; @@ -97,12 +97,15 @@ export class Props implements IObservable { */ public setProps(props: {}, sender?: any) { if (props instanceof Props) - var p = props.props; + var p = props._props; else p = props; const changed = this.compareObjects(this._props, p); if (changed) { - this._props = p; + this._props = {}; + for (const k in p) + this._props[k] = p[k]; + this.notifyPropsChange(sender); } } @@ -123,7 +126,7 @@ export class Props implements IObservable { for (const k in this._props) { if (res != "[") res += ", "; - res += `${k}:${this.props[k]}`; + res += `${k}:${this._props[k]}`; } res += "]" return res;