@domql/qsql 0.1.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apply.js +21 -0
- package/define.js +12 -0
- package/dist/cjs/apply.js +39 -0
- package/dist/cjs/define.js +33 -0
- package/dist/cjs/find.js +28 -0
- package/dist/cjs/index.js +41 -0
- package/dist/cjs/methods.js +30 -0
- package/dist/cjs/on.js +34 -0
- package/dist/cjs/params.js +77 -0
- package/dist/cjs/query.js +50 -0
- package/dist/cjs/registry.js +23 -0
- package/dist/cjs/update.js +40 -0
- package/dist/esm/apply.js +20 -0
- package/dist/esm/define.js +14 -0
- package/dist/esm/find.js +9 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/methods.js +11 -0
- package/dist/esm/on.js +15 -0
- package/dist/esm/params.js +58 -0
- package/dist/esm/query.js +31 -0
- package/dist/esm/registry.js +4 -0
- package/dist/esm/update.js +21 -0
- package/dist/iife/index.js +205 -0
- package/find.js +7 -0
- package/index.js +23 -0
- package/{src/methods.js → methods.js} +1 -3
- package/on.js +14 -0
- package/package.json +33 -7
- package/params.js +62 -0
- package/query.js +35 -0
- package/registry.js +1 -0
- package/update.js +22 -0
- package/README.md +0 -45
- package/src/apply.js +0 -22
- package/src/define.js +0 -12
- package/src/find.js +0 -5
- package/src/index.js +0 -18
- package/src/on.js +0 -18
- package/src/params.js +0 -20
- package/src/query.js +0 -37
- package/src/registry.js +0 -3
- package/src/update.js +0 -24
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
var DomqlQsql = (() => {
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// index.js
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
REGISTRY: () => REGISTRY,
|
|
24
|
+
default: () => index_default,
|
|
25
|
+
define: () => define,
|
|
26
|
+
find: () => find,
|
|
27
|
+
methods: () => methods,
|
|
28
|
+
query: () => query,
|
|
29
|
+
setMethod: () => setMethod
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// registry.js
|
|
33
|
+
var REGISTRY = {};
|
|
34
|
+
|
|
35
|
+
// params.js
|
|
36
|
+
var isObject = (v) => v !== null && typeof v === "object" && v.constructor === Object;
|
|
37
|
+
var applyStyle = (params2, element, node) => {
|
|
38
|
+
if (params2 && isObject(params2)) {
|
|
39
|
+
for (const prop in params2) {
|
|
40
|
+
node.style[prop] = params2[prop];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var applyAttr = (params2, element, node) => {
|
|
45
|
+
if (params2 && isObject(params2)) {
|
|
46
|
+
for (const attr in params2) {
|
|
47
|
+
const val = params2[attr];
|
|
48
|
+
if (val !== false && val !== void 0 && val !== null) {
|
|
49
|
+
node.setAttribute(attr, val);
|
|
50
|
+
} else {
|
|
51
|
+
node.removeAttribute(attr);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
var applyClassList = (params2, element, node) => {
|
|
57
|
+
if (!params2) return;
|
|
58
|
+
if (typeof params2 === "string") {
|
|
59
|
+
node.className = params2;
|
|
60
|
+
} else if (isObject(params2)) {
|
|
61
|
+
let className = "";
|
|
62
|
+
for (const item in params2) {
|
|
63
|
+
const val = params2[item];
|
|
64
|
+
if (val === true) className += ` ${item}`;
|
|
65
|
+
else if (typeof val === "string") className += ` ${val}`;
|
|
66
|
+
}
|
|
67
|
+
node.className = className.trim();
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
var applyData = (params2, element, node) => {
|
|
71
|
+
if (params2 && isObject(params2)) {
|
|
72
|
+
for (const key in params2) {
|
|
73
|
+
node.dataset[key] = params2[key];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
var applyText = (param, element, node) => {
|
|
78
|
+
node.textContent = param;
|
|
79
|
+
};
|
|
80
|
+
var applyHtml = (param, element, node) => {
|
|
81
|
+
node.innerHTML = param;
|
|
82
|
+
};
|
|
83
|
+
var params = {
|
|
84
|
+
attr: applyAttr,
|
|
85
|
+
class: applyClassList,
|
|
86
|
+
data: applyData,
|
|
87
|
+
style: applyStyle,
|
|
88
|
+
text: applyText,
|
|
89
|
+
html: applyHtml
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// on.js
|
|
93
|
+
var isFunction = (v) => typeof v === "function";
|
|
94
|
+
var applyEvents = (element, node) => {
|
|
95
|
+
for (const param in element.on) {
|
|
96
|
+
if (param === "init" || param === "render") continue;
|
|
97
|
+
const appliedFunction = element.on[param];
|
|
98
|
+
if (isFunction(appliedFunction)) {
|
|
99
|
+
node.addEventListener(param, (event) => {
|
|
100
|
+
appliedFunction.call(element, event, element, node);
|
|
101
|
+
}, true);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// apply.js
|
|
107
|
+
var isObject2 = (v) => v !== null && typeof v === "object" && v.constructor === Object;
|
|
108
|
+
var isFunction2 = (v) => typeof v === "function";
|
|
109
|
+
var apply = (element) => {
|
|
110
|
+
element.nodes.forEach((node) => {
|
|
111
|
+
if (isObject2(element.on)) applyEvents(element, node);
|
|
112
|
+
for (const key in element) {
|
|
113
|
+
const elemParam = element[key];
|
|
114
|
+
const param = params[key];
|
|
115
|
+
if (param) param(elemParam, element, node);
|
|
116
|
+
}
|
|
117
|
+
if (element.on && isFunction2(element.on.init)) {
|
|
118
|
+
element.on.init.call(element, element, node);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
// update.js
|
|
124
|
+
var isObject3 = (v) => v !== null && typeof v === "object" && v.constructor === Object;
|
|
125
|
+
var isFunction3 = (v) => typeof v === "function";
|
|
126
|
+
var update = function(newParams) {
|
|
127
|
+
const element = this;
|
|
128
|
+
element.nodes.forEach((node) => {
|
|
129
|
+
if (isObject3(newParams.on)) applyEvents(element, node);
|
|
130
|
+
for (const param in newParams) {
|
|
131
|
+
const newParam = newParams[param];
|
|
132
|
+
const hasParam = params[param];
|
|
133
|
+
if (hasParam) hasParam(newParam, element, node);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
if (element.on && isFunction3(element.on.update)) {
|
|
137
|
+
element.on.update.call(element, element);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
// methods.js
|
|
142
|
+
var methods = {};
|
|
143
|
+
var setMethod = (newMethods) => {
|
|
144
|
+
for (const param in newMethods) {
|
|
145
|
+
methods[param] = newMethods[param];
|
|
146
|
+
}
|
|
147
|
+
return methods;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// query.js
|
|
151
|
+
var isNode = (obj) => obj instanceof Node;
|
|
152
|
+
var query = (config) => {
|
|
153
|
+
for (const key in config) {
|
|
154
|
+
const element = config[key];
|
|
155
|
+
const { query: selector, node } = element;
|
|
156
|
+
const nodesArr = [];
|
|
157
|
+
if (node && isNode(node)) {
|
|
158
|
+
nodesArr.push(node);
|
|
159
|
+
} else if (selector) {
|
|
160
|
+
const nodes = document.querySelectorAll(selector);
|
|
161
|
+
if (nodes.length === 0) console.warn(`Could not find element "${key}"`);
|
|
162
|
+
nodes.forEach((n) => nodesArr.push(n));
|
|
163
|
+
}
|
|
164
|
+
element.nodes = nodesArr;
|
|
165
|
+
element.key = key;
|
|
166
|
+
element.update = update;
|
|
167
|
+
for (const name in methods) {
|
|
168
|
+
if (key !== name) element[name] = methods[name];
|
|
169
|
+
}
|
|
170
|
+
REGISTRY[key] = element;
|
|
171
|
+
apply(element);
|
|
172
|
+
}
|
|
173
|
+
return REGISTRY;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
// define.js
|
|
177
|
+
var define = (newParams, options = {}) => {
|
|
178
|
+
const { overwrite } = options;
|
|
179
|
+
for (const param in newParams) {
|
|
180
|
+
if (params[param] && !overwrite) {
|
|
181
|
+
console.warn("Can't overwrite default params. Use { overwrite: true } to force update");
|
|
182
|
+
} else {
|
|
183
|
+
params[param] = newParams[param];
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
// find.js
|
|
189
|
+
var find = (key) => {
|
|
190
|
+
const element = REGISTRY[key];
|
|
191
|
+
if (!element) console.warn(`Can't find element "${key}"`);
|
|
192
|
+
return element;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
// index.js
|
|
196
|
+
var index_default = {
|
|
197
|
+
REGISTRY,
|
|
198
|
+
query,
|
|
199
|
+
define,
|
|
200
|
+
find,
|
|
201
|
+
methods,
|
|
202
|
+
setMethod
|
|
203
|
+
};
|
|
204
|
+
return __toCommonJS(index_exports);
|
|
205
|
+
})();
|
package/find.js
ADDED
package/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { REGISTRY } from './registry.js'
|
|
2
|
+
import { query } from './query.js'
|
|
3
|
+
import { define } from './define.js'
|
|
4
|
+
import { find } from './find.js'
|
|
5
|
+
import { methods, setMethod } from './methods.js'
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
REGISTRY,
|
|
9
|
+
query,
|
|
10
|
+
define,
|
|
11
|
+
find,
|
|
12
|
+
methods,
|
|
13
|
+
setMethod
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default {
|
|
17
|
+
REGISTRY,
|
|
18
|
+
query,
|
|
19
|
+
define,
|
|
20
|
+
find,
|
|
21
|
+
methods,
|
|
22
|
+
setMethod
|
|
23
|
+
}
|
package/on.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const isFunction = (v) => typeof v === 'function'
|
|
2
|
+
|
|
3
|
+
export const applyEvents = (element, node) => {
|
|
4
|
+
for (const param in element.on) {
|
|
5
|
+
if (param === 'init' || param === 'render') continue
|
|
6
|
+
|
|
7
|
+
const appliedFunction = element.on[param]
|
|
8
|
+
if (isFunction(appliedFunction)) {
|
|
9
|
+
node.addEventListener(param, event => {
|
|
10
|
+
appliedFunction.call(element, event, element, node)
|
|
11
|
+
}, true)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/qsql",
|
|
3
|
-
"version": "
|
|
4
|
-
"main": "src/index.js",
|
|
5
|
-
"author": "symbo.ls",
|
|
3
|
+
"version": "3.3.0",
|
|
6
4
|
"license": "MIT",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
"type": "module",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"unpkg": "./dist/iife/index.js",
|
|
8
|
+
"jsdelivr": "./dist/iife/index.js",
|
|
9
|
+
"main": "./dist/cjs/index.js",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": "./dist/esm/index.js",
|
|
13
|
+
"require": "./dist/cjs/index.js",
|
|
14
|
+
"browser": "./dist/iife/index.js",
|
|
15
|
+
"default": "./dist/esm/index.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"source": "index.js",
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"*.js"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"copy:package:cjs": "cp ../../build/package-cjs.json dist/cjs/package.json",
|
|
25
|
+
"build:esm": "cross-env NODE_ENV=$NODE_ENV esbuild *.js --target=es2020 --format=esm --outdir=dist/esm --define:process.env.NODE_ENV=process.env.NODE_ENV",
|
|
26
|
+
"build:cjs": "cross-env NODE_ENV=$NODE_ENV esbuild *.js --target=node18 --format=cjs --outdir=dist/cjs --define:process.env.NODE_ENV=process.env.NODE_ENV",
|
|
27
|
+
"build:iife": "cross-env NODE_ENV=$NODE_ENV esbuild index.js --bundle --target=es2020 --format=iife --global-name=DomqlQsql --outfile=dist/iife/index.js --define:process.env.NODE_ENV=process.env.NODE_ENV",
|
|
28
|
+
"build": "node ../../build/build.js",
|
|
29
|
+
"prepublish": "npm run build && npm run copy:package:cjs"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@babel/core": "^7.26.0"
|
|
34
|
+
},
|
|
35
|
+
"browser": "./dist/iife/index.js",
|
|
36
|
+
"sideEffects": false
|
|
11
37
|
}
|
package/params.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const isObject = (v) => v !== null && typeof v === 'object' && v.constructor === Object
|
|
2
|
+
|
|
3
|
+
const applyStyle = (params, element, node) => {
|
|
4
|
+
if (params && isObject(params)) {
|
|
5
|
+
for (const prop in params) {
|
|
6
|
+
node.style[prop] = params[prop]
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const applyAttr = (params, element, node) => {
|
|
12
|
+
if (params && isObject(params)) {
|
|
13
|
+
for (const attr in params) {
|
|
14
|
+
const val = params[attr]
|
|
15
|
+
if (val !== false && val !== undefined && val !== null) {
|
|
16
|
+
node.setAttribute(attr, val)
|
|
17
|
+
} else {
|
|
18
|
+
node.removeAttribute(attr)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const applyClassList = (params, element, node) => {
|
|
25
|
+
if (!params) return
|
|
26
|
+
if (typeof params === 'string') {
|
|
27
|
+
node.className = params
|
|
28
|
+
} else if (isObject(params)) {
|
|
29
|
+
let className = ''
|
|
30
|
+
for (const item in params) {
|
|
31
|
+
const val = params[item]
|
|
32
|
+
if (val === true) className += ` ${item}`
|
|
33
|
+
else if (typeof val === 'string') className += ` ${val}`
|
|
34
|
+
}
|
|
35
|
+
node.className = className.trim()
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const applyData = (params, element, node) => {
|
|
40
|
+
if (params && isObject(params)) {
|
|
41
|
+
for (const key in params) {
|
|
42
|
+
node.dataset[key] = params[key]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const applyText = (param, element, node) => {
|
|
48
|
+
node.textContent = param
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const applyHtml = (param, element, node) => {
|
|
52
|
+
node.innerHTML = param
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export const params = {
|
|
56
|
+
attr: applyAttr,
|
|
57
|
+
class: applyClassList,
|
|
58
|
+
data: applyData,
|
|
59
|
+
style: applyStyle,
|
|
60
|
+
text: applyText,
|
|
61
|
+
html: applyHtml
|
|
62
|
+
}
|
package/query.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { REGISTRY } from './registry.js'
|
|
2
|
+
import { apply } from './apply.js'
|
|
3
|
+
import { update } from './update.js'
|
|
4
|
+
import { methods } from './methods.js'
|
|
5
|
+
|
|
6
|
+
const isNode = (obj) => obj instanceof Node
|
|
7
|
+
|
|
8
|
+
export const query = (config) => {
|
|
9
|
+
for (const key in config) {
|
|
10
|
+
const element = config[key]
|
|
11
|
+
const { query: selector, node } = element
|
|
12
|
+
const nodesArr = []
|
|
13
|
+
|
|
14
|
+
if (node && isNode(node)) {
|
|
15
|
+
nodesArr.push(node)
|
|
16
|
+
} else if (selector) {
|
|
17
|
+
const nodes = document.querySelectorAll(selector)
|
|
18
|
+
if (nodes.length === 0) console.warn(`Could not find element "${key}"`)
|
|
19
|
+
nodes.forEach((n) => nodesArr.push(n))
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
element.nodes = nodesArr
|
|
23
|
+
element.key = key
|
|
24
|
+
element.update = update
|
|
25
|
+
|
|
26
|
+
for (const name in methods) {
|
|
27
|
+
if (key !== name) element[name] = methods[name]
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
REGISTRY[key] = element
|
|
31
|
+
apply(element)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return REGISTRY
|
|
35
|
+
}
|
package/registry.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const REGISTRY = {}
|
package/update.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { params } from './params.js'
|
|
2
|
+
import { applyEvents } from './on.js'
|
|
3
|
+
|
|
4
|
+
const isObject = (v) => v !== null && typeof v === 'object' && v.constructor === Object
|
|
5
|
+
const isFunction = (v) => typeof v === 'function'
|
|
6
|
+
|
|
7
|
+
export const update = function (newParams) {
|
|
8
|
+
const element = this
|
|
9
|
+
element.nodes.forEach(node => {
|
|
10
|
+
if (isObject(newParams.on)) applyEvents(element, node)
|
|
11
|
+
|
|
12
|
+
for (const param in newParams) {
|
|
13
|
+
const newParam = newParams[param]
|
|
14
|
+
const hasParam = params[param]
|
|
15
|
+
if (hasParam) hasParam(newParam, element, node)
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
if (element.on && isFunction(element.on.update)) {
|
|
20
|
+
element.on.update.call(element, element)
|
|
21
|
+
}
|
|
22
|
+
}
|
package/README.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# qsql
|
|
2
|
-
DOM manipulation using document queries. Uses [DOMQL](https://github.com/domql/domql) API.
|
|
3
|
-
|
|
4
|
-
### Installation
|
|
5
|
-
```
|
|
6
|
-
yarn add classql
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
### Examples
|
|
10
|
-
|
|
11
|
-
Initialization:
|
|
12
|
-
|
|
13
|
-
```javascript
|
|
14
|
-
import DOM from 'qsql'
|
|
15
|
-
|
|
16
|
-
DOM.query({
|
|
17
|
-
logo: { query: '.logo' }
|
|
18
|
-
})
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Attributes:
|
|
22
|
-
```javascript
|
|
23
|
-
DOM.query({
|
|
24
|
-
modal: {
|
|
25
|
-
query: '.modal',
|
|
26
|
-
style: { display: 'none' }
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Events and update:
|
|
32
|
-
```javascript
|
|
33
|
-
DOM.query({
|
|
34
|
-
CTA: {
|
|
35
|
-
query: '.button',
|
|
36
|
-
on: {
|
|
37
|
-
click: (event, element, node) => {
|
|
38
|
-
DOM.find('modal').update({
|
|
39
|
-
style: { display: 'block' }
|
|
40
|
-
})
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
})
|
|
45
|
-
```
|
package/src/apply.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { init } from '@rackai/domql/src/event/on'
|
|
4
|
-
import { exec, isObject } from '@rackai/domql/src/utils/object'
|
|
5
|
-
|
|
6
|
-
import params from './params'
|
|
7
|
-
import on from './on'
|
|
8
|
-
|
|
9
|
-
export default element => {
|
|
10
|
-
element.nodes.forEach(node => {
|
|
11
|
-
if (isObject(element.on)) on(element, node)
|
|
12
|
-
|
|
13
|
-
for (let key in element) {
|
|
14
|
-
var elemParam = element[key]
|
|
15
|
-
var param = params[key]
|
|
16
|
-
if (param) param(elemParam, element, node)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (element.on && typeof element.on.init === 'function')
|
|
20
|
-
init(element.on.init, element, node)
|
|
21
|
-
})
|
|
22
|
-
}
|
package/src/define.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import params from './params'
|
|
4
|
-
|
|
5
|
-
export default (newParams, options = {}) => {
|
|
6
|
-
var { overwrite } = options
|
|
7
|
-
for (const param in newParams) {
|
|
8
|
-
if (params[param] && !overwrite) {
|
|
9
|
-
console.log(`Can't overwrite to default params. Use { overwrite: true } to force update`)
|
|
10
|
-
} else params[param] = newParams[param]
|
|
11
|
-
}
|
|
12
|
-
}
|
package/src/find.js
DELETED
package/src/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import '@rackai/domql'
|
|
4
|
-
|
|
5
|
-
import query from './query'
|
|
6
|
-
import registry from './registry'
|
|
7
|
-
import define from './define'
|
|
8
|
-
import find from './find'
|
|
9
|
-
import { methods, setMethod } from './methods'
|
|
10
|
-
|
|
11
|
-
export default {
|
|
12
|
-
registry,
|
|
13
|
-
query,
|
|
14
|
-
define,
|
|
15
|
-
find,
|
|
16
|
-
methods,
|
|
17
|
-
setMethod
|
|
18
|
-
}
|
package/src/on.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import * as events from '@rackai/domql/src/event/on'
|
|
4
|
-
|
|
5
|
-
events.init = (param, element, node) => {
|
|
6
|
-
param.call(element, element, node)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export default (element, node) => {
|
|
10
|
-
for (const param in element.on) {
|
|
11
|
-
if (param === 'init' || param === 'render') continue
|
|
12
|
-
|
|
13
|
-
var appliedFunction = element.on[param]
|
|
14
|
-
if (typeof appliedFunction === 'function') {
|
|
15
|
-
node.addEventListener(param, event => appliedFunction(event, element), true)
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
package/src/params.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
attr,
|
|
5
|
-
classList,
|
|
6
|
-
data,
|
|
7
|
-
style,
|
|
8
|
-
html
|
|
9
|
-
} from '@rackai/domql/src/element/params'
|
|
10
|
-
|
|
11
|
-
export default {
|
|
12
|
-
attr,
|
|
13
|
-
class: classList,
|
|
14
|
-
data,
|
|
15
|
-
style,
|
|
16
|
-
text: (param, element, node) => {
|
|
17
|
-
node.innerText = param
|
|
18
|
-
},
|
|
19
|
-
html
|
|
20
|
-
}
|
package/src/query.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import registry from './registry'
|
|
4
|
-
import apply from './apply'
|
|
5
|
-
import update from './update'
|
|
6
|
-
import { methods } from './methods'
|
|
7
|
-
import { is } from '@rackai/domql/src/event'
|
|
8
|
-
|
|
9
|
-
var query = params => {
|
|
10
|
-
for (let key in params) {
|
|
11
|
-
var element = params[key]
|
|
12
|
-
var { query, node } = element
|
|
13
|
-
var nodesArr = []
|
|
14
|
-
|
|
15
|
-
if (is.node(node)) nodesArr = [node]
|
|
16
|
-
else {
|
|
17
|
-
var nodes = document.querySelectorAll(query)
|
|
18
|
-
var { length } = nodes
|
|
19
|
-
if (length === 0) console.warn(`Could not find element "${key}"`)
|
|
20
|
-
nodes.forEach((node, key) => nodesArr[key] = node)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
element.nodes = nodesArr
|
|
24
|
-
element.key = key
|
|
25
|
-
element.update = update
|
|
26
|
-
|
|
27
|
-
for (var one in methods) if (key !== one) element[one] = methods[one]
|
|
28
|
-
|
|
29
|
-
registry[key] = params[key]
|
|
30
|
-
|
|
31
|
-
apply(element)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return registry
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export default query
|
package/src/registry.js
DELETED
package/src/update.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import params from './params'
|
|
4
|
-
import on from './on'
|
|
5
|
-
import { exec, isObject } from '@rackai/domql/src/utils/object'
|
|
6
|
-
|
|
7
|
-
const update = function (newParams) {
|
|
8
|
-
var element = this
|
|
9
|
-
element.nodes.forEach(node => {
|
|
10
|
-
if (isObject(newParams.on)) on(element, node)
|
|
11
|
-
for (let param in newParams) {
|
|
12
|
-
var newParam = newParams[param]
|
|
13
|
-
var hasParam = params[param]
|
|
14
|
-
if (hasParam) hasParam(newParam, element, node)
|
|
15
|
-
}
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
// run onUpdate
|
|
19
|
-
if (element.on && typeof element.on.update === 'function') {
|
|
20
|
-
on.update(element.on.update, element, node)
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export default update
|