123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- if(!dojo._hasResource["dojo.behavior"]){
- dojo._hasResource["dojo.behavior"] = true;
- dojo.provide("dojo.behavior");
- dojo.behavior = new function(){
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- function arrIn(obj, name){
- if(!obj[name]){ obj[name] = []; }
- return obj[name];
- }
- var _inc = 0;
- function forIn(obj, scope, func){
- var tmpObj = {};
- for(var x in obj){
- if(typeof tmpObj[x] == "undefined"){
- if(!func){
- scope(obj[x], x);
- }else{
- func.call(scope, obj[x], x);
- }
- }
- }
- }
-
- this._behaviors = {};
- this.add = function(/* Object */behaviorObj){
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- var tmpObj = {};
- forIn(behaviorObj, this, function(behavior, name){
- var tBehavior = arrIn(this._behaviors, name);
- if(typeof tBehavior["id"] != "number"){
- tBehavior.id = _inc++;
- }
- var cversion = [];
- tBehavior.push(cversion);
- if((dojo.isString(behavior))||(dojo.isFunction(behavior))){
- behavior = { found: behavior };
- }
- forIn(behavior, function(rule, ruleName){
- arrIn(cversion, ruleName).push(rule);
- });
- });
- };
- var _applyToNode = function(node, action, ruleSetName){
- if(dojo.isString(action)){
- if(ruleSetName == "found"){
- dojo.publish(action, [ node ]);
- }else{
- dojo.connect(node, ruleSetName, function(){
- dojo.publish(action, arguments);
- });
- }
- }else if(dojo.isFunction(action)){
- if(ruleSetName == "found"){
- action(node);
- }else{
- dojo.connect(node, ruleSetName, action);
- }
- }
- };
- this.apply = function(){
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- forIn(this._behaviors, function(tBehavior, id){
- dojo.query(id).forEach(
- function(elem){
- var runFrom = 0;
- var bid = "_dj_behavior_"+tBehavior.id;
- if(typeof elem[bid] == "number"){
- runFrom = elem[bid];
- if(runFrom == (tBehavior.length)){
- return;
- }
- }
-
- for(var x=runFrom, tver; tver = tBehavior[x]; x++){
- forIn(tver, function(ruleSet, ruleSetName){
- if(dojo.isArray(ruleSet)){
- dojo.forEach(ruleSet, function(action){
- _applyToNode(elem, action, ruleSetName);
- });
- }
- });
- }
-
- elem[bid] = tBehavior.length;
- }
- );
- });
- };
- };
- dojo.addOnLoad(dojo.behavior, "apply");
- }
|