]>
git.wh0rd.org - tt-rss.git/blob - lib/dojo/Stateful.js
c1166d99a2b464893023df72afb41bce54eeefc8
2 Copyright (c) 2004-2016, The JS Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
8 define("dojo/Stateful",["./_base/declare","./_base/lang","./_base/array","./when"],function(_1
,_2
,_3
,_4
){return _1("dojo.Stateful",null,{_attrPairNames
:{},_getAttrNames:function(_5
){var _6
=this._attrPairNames
;if(_6
[_5
]){return _6
[_5
];}return (_6
[_5
]={s
:"_"+_5
+"Setter",g
:"_"+_5
+"Getter"});},postscript:function(_7
){if(_7
){this.set(_7
);}},_get:function(_8
,_9
){return typeof this[_9
.g
]==="function"?this[_9
.g
]():this[_8
];},get:function(_a
){return this._get(_a
,this._getAttrNames(_a
));},set:function(_b
,_c
){if(typeof _b
==="object"){for(var x
in _b
){if(_b
.hasOwnProperty(x
)&&x
!="_watchCallbacks"){this.set(x
,_b
[x
]);}}return this;}var _d
=this._getAttrNames(_b
),_e
=this._get(_b
,_d
),_f
=this[_d
.s
],_10
;if(typeof _f
==="function"){_10
=_f
.apply(this,Array
.prototype.slice
.call(arguments
,1));}else{this[_b
]=_c
;}if(this._watchCallbacks
){var _11
=this;_4(_10
,function(){_11
._watchCallbacks(_b
,_e
,_c
);});}return this;},_changeAttrValue:function(_12
,_13
){var _14
=this.get(_12
);this[_12
]=_13
;if(this._watchCallbacks
){this._watchCallbacks(_12
,_14
,_13
);}return this;},watch:function(_15
,_16
){var _17
=this._watchCallbacks
;if(!_17
){var _18
=this;_17
=this._watchCallbacks=function(_19
,_1a
,_1b
,_1c
){var _1d=function(_1e
){if(_1e
){_1e
=_1e
.slice();for(var i
=0,l
=_1e
.length
;i
<l
;i
++){_1e
[i
].call(_18
,_19
,_1a
,_1b
);}}};_1d(_17
["_"+_19
]);if(!_1c
){_1d(_17
["*"]);}};}if(!_16
&&typeof _15
==="function"){_16
=_15
;_15
="*";}else{_15
="_"+_15
;}var _1f
=_17
[_15
];if(typeof _1f
!=="object"){_1f
=_17
[_15
]=[];}_1f
.push(_16
);var _20
={};_20
.unwatch
=_20
.remove=function(){var _21
=_3
.indexOf(_1f
,_16
);if(_21
>-1){_1f
.splice(_21
,1);}};return _20
;}});});