blob: f17ec2a9260403afb7d79739e39da3e2478b6df3 [file] [log] [blame]
Akronc1457bf2015-06-11 19:24:00 +02001window.KorAP = window.KorAP || {};
2
Nils Diewald0e6992a2015-04-14 20:13:52 +00003// Don't let events bubble up
4if (Event.halt === undefined) {
5 // Don't let events bubble up
6 Event.prototype.halt = function () {
7 this.stopPropagation();
8 this.preventDefault();
9 };
10};
11
Nils Diewald7c8ced22015-04-15 19:21:00 +000012var _quoteRE = new RegExp("([\"\\\\])", 'g');
13String.prototype.quote = function () {
14 return this.replace(_quoteRE, '\\$1');
15};
16
Nils Diewald0e6992a2015-04-14 20:13:52 +000017// Add toggleClass method similar to jquery
18HTMLElement.prototype.toggleClass = function (c1, c2) {
19 var cl = this.classList;
20 if (cl.contains(c1)) {
21 cl.add(c2);
22 cl.remove(c1);
23 }
24 else {
25 cl.remove(c2);
26 cl.add(c1);
27 };
28};
29
30
31// Utility for removing all children of a node
32function _removeChildren (node) {
33 // Remove everything underneath
34 while (node.firstChild)
35 node.removeChild(node.firstChild);
36};
37
38
39define(function () {
Akronc1457bf2015-06-11 19:24:00 +020040 // Todo: That's double now!
Nils Diewald0e6992a2015-04-14 20:13:52 +000041 KorAP.API = KorAP.API || {};
Akronc1457bf2015-06-11 19:24:00 +020042 KorAP.Locale = KorAP.Locale || {};
Nils Diewald0e6992a2015-04-14 20:13:52 +000043
Nils Diewald359a72c2015-04-20 17:40:29 +000044 var loc = KorAP.Locale;
45 loc.OR = loc.OR || 'or';
46 loc.AND = loc.AND || 'and';
47
48 // Add new stylesheet object lazily to document
49 KorAP.newStyleSheet = function () {
50 if (KorAP._sheet === undefined) {
51 var sElem = document.createElement('style');
52 document.head.appendChild(sElem);
53 KorAP._sheet = sElem.sheet;
54 };
55 return KorAP._sheet;
56 };
57
58
Nils Diewald0e6992a2015-04-14 20:13:52 +000059 // Default log message
60 KorAP.log = KorAP.log || function (type, msg) {
61 console.log(type + ": " + msg);
62 };
63
64 return KorAP;
65});