Subversion Repositories Applications.papyrus

Rev

Rev 1318 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1318 Rev 1422
1
/*
1
/*
2
	Copyright (c) 2004-2006, The Dojo Foundation
2
	Copyright (c) 2004-2006, The Dojo Foundation
3
	All Rights Reserved.
3
	All Rights Reserved.
4
 
4
 
5
	Licensed under the Academic Free License version 2.1 or above OR the
5
	Licensed under the Academic Free License version 2.1 or above OR the
6
	modified BSD license. For more information on Dojo licensing, see:
6
	modified BSD license. For more information on Dojo licensing, see:
7
 
7
 
8
		http://dojotoolkit.org/community/licensing.shtml
8
		http://dojotoolkit.org/community/licensing.shtml
9
*/
9
*/
-
 
10
 
-
 
11
 
10
 
12
 
11
dojo.provide("dojo.lang.extras");
13
dojo.provide("dojo.lang.extras");
12
dojo.require("dojo.lang.common");
14
dojo.require("dojo.lang.common");
13
dojo.lang.setTimeout = function (func, delay) {
15
dojo.lang.setTimeout = function (func, delay) {
14
	var context = window, argsStart = 2;
16
	var context = window, argsStart = 2;
15
	if (!dojo.lang.isFunction(func)) {
17
	if (!dojo.lang.isFunction(func)) {
16
		context = func;
18
		context = func;
17
		func = delay;
19
		func = delay;
18
		delay = arguments[2];
20
		delay = arguments[2];
19
		argsStart++;
21
		argsStart++;
20
	}
22
	}
21
	if (dojo.lang.isString(func)) {
23
	if (dojo.lang.isString(func)) {
22
		func = context[func];
24
		func = context[func];
23
	}
25
	}
24
	var args = [];
26
	var args = [];
25
	for (var i = argsStart; i < arguments.length; i++) {
27
	for (var i = argsStart; i < arguments.length; i++) {
26
		args.push(arguments[i]);
28
		args.push(arguments[i]);
27
	}
29
	}
28
	return dojo.global().setTimeout(function () {
30
	return dojo.global().setTimeout(function () {
29
		func.apply(context, args);
31
		func.apply(context, args);
30
	}, delay);
32
	}, delay);
31
};
33
};
32
dojo.lang.clearTimeout = function (timer) {
34
dojo.lang.clearTimeout = function (timer) {
33
	dojo.global().clearTimeout(timer);
35
	dojo.global().clearTimeout(timer);
34
};
36
};
35
dojo.lang.getNameInObj = function (ns, item) {
37
dojo.lang.getNameInObj = function (ns, item) {
36
	if (!ns) {
38
	if (!ns) {
37
		ns = dj_global;
39
		ns = dj_global;
38
	}
40
	}
39
	for (var x in ns) {
41
	for (var x in ns) {
40
		if (ns[x] === item) {
42
		if (ns[x] === item) {
41
			return new String(x);
43
			return new String(x);
42
		}
44
		}
43
	}
45
	}
44
	return null;
46
	return null;
45
};
47
};
46
dojo.lang.shallowCopy = function (obj, deep) {
48
dojo.lang.shallowCopy = function (obj, deep) {
47
	var i, ret;
49
	var i, ret;
48
	if (obj === null) {
50
	if (obj === null) {
49
		return null;
51
		return null;
50
	}
52
	}
51
	if (dojo.lang.isObject(obj)) {
53
	if (dojo.lang.isObject(obj)) {
52
		ret = new obj.constructor();
54
		ret = new obj.constructor();
53
		for (i in obj) {
55
		for (i in obj) {
54
			if (dojo.lang.isUndefined(ret[i])) {
56
			if (dojo.lang.isUndefined(ret[i])) {
55
				ret[i] = deep ? dojo.lang.shallowCopy(obj[i], deep) : obj[i];
57
				ret[i] = deep ? dojo.lang.shallowCopy(obj[i], deep) : obj[i];
56
			}
58
			}
57
		}
59
		}
58
	} else {
60
	} else {
59
		if (dojo.lang.isArray(obj)) {
61
		if (dojo.lang.isArray(obj)) {
60
			ret = [];
62
			ret = [];
61
			for (i = 0; i < obj.length; i++) {
63
			for (i = 0; i < obj.length; i++) {
62
				ret[i] = deep ? dojo.lang.shallowCopy(obj[i], deep) : obj[i];
64
				ret[i] = deep ? dojo.lang.shallowCopy(obj[i], deep) : obj[i];
63
			}
65
			}
64
		} else {
66
		} else {
65
			ret = obj;
67
			ret = obj;
66
		}
68
		}
67
	}
69
	}
68
	return ret;
70
	return ret;
69
};
71
};
70
dojo.lang.firstValued = function () {
72
dojo.lang.firstValued = function () {
71
	for (var i = 0; i < arguments.length; i++) {
73
	for (var i = 0; i < arguments.length; i++) {
72
		if (typeof arguments[i] != "undefined") {
74
		if (typeof arguments[i] != "undefined") {
73
			return arguments[i];
75
			return arguments[i];
74
		}
76
		}
75
	}
77
	}
76
	return undefined;
78
	return undefined;
77
};
79
};
78
dojo.lang.getObjPathValue = function (objpath, context, create) {
80
dojo.lang.getObjPathValue = function (objpath, context, create) {
79
	with (dojo.parseObjPath(objpath, context, create)) {
81
	with (dojo.parseObjPath(objpath, context, create)) {
80
		return dojo.evalProp(prop, obj, create);
82
		return dojo.evalProp(prop, obj, create);
81
	}
83
	}
82
};
84
};
83
dojo.lang.setObjPathValue = function (objpath, value, context, create) {
85
dojo.lang.setObjPathValue = function (objpath, value, context, create) {
84
	dojo.deprecated("dojo.lang.setObjPathValue", "use dojo.parseObjPath and the '=' operator", "0.6");
86
	dojo.deprecated("dojo.lang.setObjPathValue", "use dojo.parseObjPath and the '=' operator", "0.6");
85
	if (arguments.length < 4) {
87
	if (arguments.length < 4) {
86
		create = true;
88
		create = true;
87
	}
89
	}
88
	with (dojo.parseObjPath(objpath, context, create)) {
90
	with (dojo.parseObjPath(objpath, context, create)) {
89
		if (obj && (create || (prop in obj))) {
91
		if (obj && (create || (prop in obj))) {
90
			obj[prop] = value;
92
			obj[prop] = value;
91
		}
93
		}
92
	}
94
	}
93
};
95
};
94
 
96