-
Notifications
You must be signed in to change notification settings - Fork 0
/
elzar.js
84 lines (70 loc) · 1.59 KB
/
elzar.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
_
| |
___| |______ _ _ __
/ _ \ |_ / _` | '__|
| __/ |/ / (_| | |
\___|_/___\__,_|_|
Elzar
Alfresco JavaScript tools
https://github.com/JonasHeylen/elzar
(c) 2013 Jonas Heylen
https://raw.github.com/JonasHeylen/elzar/master/LICENSE
*/
var $ = (function(search) {
var undefinded, $,
wrapper, emptyArray = [],
nodeRefRE = /^\w+:\/\/\w+\/[a-zA-Z0-9-]+$/,
ctx = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext();
wrapper = function(nodes) {
nodes = nodes || [];
nodes.__proto__ = $.fn;
return nodes;
}
$ = function(query) {
if (nodeRefRE.test(query)) {
return wrapper([search.findNode(query)]);
} else {
return wrapper(search.query({
"query": query,
"language": "fts-alfresco"
}));
}
};
$.fn = {
forEach: emptyArray.forEach,
reduce: emptyArray.reduce,
push: emptyArray.push,
sort: emptyArray.sort,
indexOf: emptyArray.indexOf,
concat: emptyArray.concat,
each: function(fn) {
var i;
for(i = 0; i < this.length; i++) {
fn.call(this[i], i, this[i]);
}
return this;
}
};
$.dir = function(obj) {
var props = [];
for (var i in obj) {
props.push(i);
}
logger.log(props.join(", "));
}
$.bean = function(name) {
return ctx.getBean(name);
}
return $;
})(search);
var console = console || {
log: function(msg) {
logger.log(msg);
}
};
var JSON = JSON || {
stringify: function(obj) {
return jsonUtils.toJSONString(obj);
}
};