This repository has been archived by the owner on Aug 22, 2023. It is now read-only.
/
laroux.js
129 lines (91 loc) · 3.76 KB
/
laroux.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/**
* laroux.js - A jquery substitute for modern browsers (laroux-node bundle)
*
* @version v2.2.0
* @link https://eserozvataf.github.io/laroux.js
* @license Apache-2.0
*/
/*jslint node: true */
/*global document */
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _larouxAjaxJs = require('./laroux.ajax.js');
var _larouxAjaxJs2 = _interopRequireDefault(_larouxAjaxJs);
var _larouxEventsJs = require('./laroux.events.js');
var _larouxEventsJs2 = _interopRequireDefault(_larouxEventsJs);
var _larouxHelpersJs = require('./laroux.helpers.js');
var _larouxHelpersJs2 = _interopRequireDefault(_larouxHelpersJs);
var _larouxIntlJs = require('./laroux.intl.js');
var _larouxIntlJs2 = _interopRequireDefault(_larouxIntlJs);
var _larouxPromiseObjectJs = require('./laroux.promiseObject.js');
var _larouxPromiseObjectJs2 = _interopRequireDefault(_larouxPromiseObjectJs);
var _larouxRequireJs = require('./laroux.require.js');
var _larouxRequireJs2 = _interopRequireDefault(_larouxRequireJs);
var _larouxStoryboardJs = require('./laroux.storyboard.js');
var _larouxStoryboardJs2 = _interopRequireDefault(_larouxStoryboardJs);
var _larouxTemplatesJs = require('./laroux.templates.js');
var _larouxTemplatesJs2 = _interopRequireDefault(_larouxTemplatesJs);
var _larouxTimersJs = require('./laroux.timers.js');
var _larouxTimersJs2 = _interopRequireDefault(_larouxTimersJs);
var _larouxTypesJs = require('./laroux.types.js');
var _larouxTypesJs2 = _interopRequireDefault(_larouxTypesJs);
var _larouxValidationJs = require('./laroux.validation.js');
var _larouxValidationJs2 = _interopRequireDefault(_larouxValidationJs);
var _larouxVarsJs = require('./laroux.vars.js');
var _larouxVarsJs2 = _interopRequireDefault(_larouxVarsJs);
var laroux = function laroux(selector, parent) {
if (selector.constructor === Array) {
return _larouxHelpersJs2['default'].toArray((parent || document).querySelectorAll(selector));
}
// FIXME: Laroux: non-chromium optimization, but it runs
// slowly in chromium
//
// let re = /^#([^\+\>\[\]\.# ]*)$/.exec(selector);
// if (re) {
// return (parent || document).getElementById(re[1]);
// }
return (parent || document).querySelector(selector);
};
_larouxHelpersJs2['default'].merge(laroux, _larouxHelpersJs2['default']);
_larouxHelpersJs2['default'].merge(laroux, {
ajax: _larouxAjaxJs2['default'],
events: _larouxEventsJs2['default'],
intl: _larouxIntlJs2['default'],
promise: _larouxPromiseObjectJs2['default'],
require: _larouxRequireJs2['default'],
storyboard: _larouxStoryboardJs2['default'],
types: _larouxTypesJs2['default'],
templates: _larouxTemplatesJs2['default'],
timers: _larouxTimersJs2['default'],
validation: _larouxValidationJs2['default'],
vars: _larouxVarsJs2['default'],
extend: function extend(source) {
return _larouxHelpersJs2['default'].merge(laroux, source);
},
extendNs: function extendNs(path, source) {
return _larouxHelpersJs2['default'].mergeNs(laroux, path, source);
},
readyPassed: false,
ready: function ready(callback) {
if (!laroux.readyPassed) {
_larouxEventsJs2['default'].add('ContentLoaded', callback);
return;
}
callback();
},
setReady: function setReady() {
if (!laroux.readyPassed) {
_larouxEventsJs2['default'].invoke('ContentLoaded');
setInterval(_larouxTimersJs2['default'].ontick, 100);
laroux.readyPassed = true;
}
}
});
if (global.$l === undefined) {
global.$l = laroux;
}
exports['default'] = laroux;
module.exports = exports['default'];