]>
git.wh0rd.org - tt-rss.git/blob - lib/dojo/_base/connect.js
2 Copyright (c) 2004-2010, The Dojo 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 if(!dojo
._hasResource
["dojo._base.connect"]){
9 dojo
._hasResource
["dojo._base.connect"]=true;
10 dojo
.provide("dojo._base.connect");
11 dojo
.require("dojo._base.lang");
12 dojo
._listener
={getDispatcher:function(){
14 var ap
=Array
.prototype,c
=arguments
.callee
,ls
=c
._listeners
,t
=c
.target
;
15 var r
=t
&&t
.apply(this,arguments
);
20 _1
[i
].apply(this,arguments
);
25 },add:function(_2
,_3
,_4
){
28 if(!f
||!f
._listeners
){
29 var d
=dojo
._listener
.getDispatcher();
34 return f
._listeners
.push(_4
);
35 },remove:function(_5
,_6
,_7
){
36 var f
=(_5
||dojo
.global
)[_6
];
37 if(f
&&f
._listeners
&&_7
--){
38 delete f
._listeners
[_7
];
41 dojo
.connect=function(_8
,_9
,_a
,_b
,_c
){
42 var a
=arguments
,_d
=[],i
=0;
43 _d
.push(dojo
.isString(a
[0])?null:a
[i
++],a
[i
++]);
45 _d
.push(dojo
.isString(a1
)||dojo
.isFunction(a1
)?a
[i
++]:null,a
[i
++]);
46 for(var l
=a
.length
;i
<l
;i
++){
49 return dojo
._connect
.apply(this,_d
);
51 dojo
._connect=function(_e
,_f
,_10
,_11
){
52 var l
=dojo
._listener
,h
=l
.add(_e
,_f
,dojo
.hitch(_10
,_11
));
55 dojo
.disconnect=function(_12
){
56 if(_12
&&_12
[0]!==undefined){
57 dojo
._disconnect
.apply(this,_12
);
61 dojo
._disconnect=function(obj
,_13
,_14
,_15
){
62 _15
.remove(obj
,_13
,_14
);
65 dojo
.subscribe=function(_16
,_17
,_18
){
66 return [_16
,dojo
._listener
.add(dojo
._topics
,_16
,dojo
.hitch(_17
,_18
))];
68 dojo
.unsubscribe=function(_19
){
70 dojo
._listener
.remove(dojo
._topics
,_19
[0],_19
[1]);
73 dojo
.publish=function(_1a
,_1b
){
74 var f
=dojo
._topics
[_1a
];
76 f
.apply(this,_1b
||[]);
79 dojo
.connectPublisher=function(_1c
,obj
,_1d
){
81 dojo
.publish(_1c
,arguments
);
83 return _1d
?dojo
.connect(obj
,_1d
,pf
):dojo
.connect(obj
,pf
);