@cocreate/events 1.6.3 → 1.6.5
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/CHANGELOG.md +14 -0
- package/demo/set-value.html +18 -0
- package/package.json +1 -1
- package/src/index.js +24 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.6.5](https://github.com/CoCreate-app/CoCreate-events/compare/v1.6.4...v1.6.5) (2023-03-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* filter-sort-direction ([d27f890](https://github.com/CoCreate-app/CoCreate-events/commit/d27f89030f096baea5fe703252290096c2c602b0))
|
|
7
|
+
|
|
8
|
+
## [1.6.4](https://github.com/CoCreate-app/CoCreate-events/compare/v1.6.3...v1.6.4) (2023-03-16)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* el typo ([7b0ec3a](https://github.com/CoCreate-app/CoCreate-events/commit/7b0ec3a2dc04580efb4850d60ef63adcfbfe5f28))
|
|
14
|
+
|
|
1
15
|
## [1.6.3](https://github.com/CoCreate-app/CoCreate-events/compare/v1.6.2...v1.6.3) (2023-03-16)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Value | CoCreateJS</title>
|
|
5
|
+
|
|
6
|
+
<!-- CoCreate Favicon -->
|
|
7
|
+
<link rel="icon" href="https://cdn.cocreate.app/favicon.ico" type="image/ico" sizes="16x16">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div click-target="#testing" click-value="hello, bye" click-key="ty">
|
|
11
|
+
<span id="testing" class="{{ty}}">other content</span>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<script src="https://cdn.cocreate.app/1.48.0/CoCreate.min.js"></script>
|
|
15
|
+
<!-- <script src="https://cdn.cocreate.app/latest/CoCreate.min.js" ></script> -->
|
|
16
|
+
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -89,10 +89,12 @@ const CoCreateEvents = {
|
|
|
89
89
|
for (const el of elements) {
|
|
90
90
|
let prefixes = this.elements.get(el)
|
|
91
91
|
if (!prefixes) {
|
|
92
|
-
prefixes = {[prefix]: events}
|
|
92
|
+
prefixes = {[prefix]: {events}}
|
|
93
93
|
this.elements.set(el, prefixes)
|
|
94
|
+
} else if (!prefixes[prefix]) {
|
|
95
|
+
prefixes[prefix] = {events}
|
|
94
96
|
} else {
|
|
95
|
-
events = prefixes[prefix]
|
|
97
|
+
events = prefixes[prefix].events
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
let customEvents = el.getAttribute(`${prefix}-events`)
|
|
@@ -105,7 +107,7 @@ const CoCreateEvents = {
|
|
|
105
107
|
el.removeEventListener(events[i], eventFunction)
|
|
106
108
|
|
|
107
109
|
events = customEvents
|
|
108
|
-
prefixes[prefix] = events
|
|
110
|
+
prefixes[prefix].events = events
|
|
109
111
|
}
|
|
110
112
|
if (!events)
|
|
111
113
|
events = []
|
|
@@ -142,6 +144,13 @@ const CoCreateEvents = {
|
|
|
142
144
|
// debounce = setTimeout(function() {
|
|
143
145
|
const target = event.currentTarget
|
|
144
146
|
if (target) {
|
|
147
|
+
let prefixes = self.elements.get(target)
|
|
148
|
+
if (prefixes[prefix].prev === event.type && ['mouseover', 'mouseout'].includes(event.type))
|
|
149
|
+
return
|
|
150
|
+
else
|
|
151
|
+
prefixes[prefix].prev = event.type
|
|
152
|
+
console.log('prev', prefixes[prefix].prev)
|
|
153
|
+
|
|
145
154
|
let attribute = target.getAttribute('actions') || ""
|
|
146
155
|
if (attribute.includes(prefix))
|
|
147
156
|
return;
|
|
@@ -175,15 +184,15 @@ const CoCreateEvents = {
|
|
|
175
184
|
__updateElements: function(element, prefix, target) {
|
|
176
185
|
const self = this;
|
|
177
186
|
// ToDo: support empty value when prefix-attribute defined, add and remove the attribute
|
|
178
|
-
let targetValue = element.getAttribute(`${prefix}-value`) || element.getAttribute(prefix);
|
|
179
|
-
if (!targetValue)
|
|
180
|
-
targetValue = element.getValue()
|
|
181
|
-
if (!targetValue) return
|
|
182
187
|
|
|
183
|
-
let values =
|
|
184
|
-
if (
|
|
188
|
+
let values = element.getAttribute(`${prefix}-value`) || element.getAttribute(prefix);
|
|
189
|
+
if (values)
|
|
190
|
+
values = values.split(',');
|
|
191
|
+
else
|
|
192
|
+
values = [element.getValue()]
|
|
193
|
+
|
|
194
|
+
if (!values || values.length == 0)
|
|
185
195
|
return;
|
|
186
|
-
}
|
|
187
196
|
|
|
188
197
|
let targetAttribute = element.getAttribute(`${prefix}-attribute`) || 'class';
|
|
189
198
|
let targetText = element.getAttribute(`${prefix}-text`);
|
|
@@ -237,7 +246,7 @@ const CoCreateEvents = {
|
|
|
237
246
|
else if (groupPrevious)
|
|
238
247
|
el.previousElementSibling.querySelectorAll(groupPrevious).forEach((el) =>
|
|
239
248
|
self.setValue(prefix, el, groupAttribute, groupValues, groupKey, 'deactivate')
|
|
240
|
-
);
|
|
249
|
+
);
|
|
241
250
|
|
|
242
251
|
});
|
|
243
252
|
}
|
|
@@ -258,14 +267,15 @@ const CoCreateEvents = {
|
|
|
258
267
|
self.setValue(prefix, el, targetAttribute, values, targetKey)
|
|
259
268
|
);
|
|
260
269
|
} else if (targetNext) {
|
|
261
|
-
|
|
270
|
+
element.nextElementSibling.querySelectorAll(targetNext).forEach((el) =>
|
|
262
271
|
self.setValue(prefix, el, targetAttribute, values, targetKey)
|
|
263
272
|
);
|
|
264
273
|
} else if (targetPrevious) {
|
|
265
|
-
|
|
274
|
+
element.previousElementSibling.querySelectorAll(targetPrevious).forEach((el) =>
|
|
266
275
|
self.setValue(prefix, el, targetAttribute, values, targetKey)
|
|
267
276
|
);
|
|
268
|
-
}
|
|
277
|
+
} else
|
|
278
|
+
self.setValue(prefix, element, targetAttribute, values, targetKey);
|
|
269
279
|
|
|
270
280
|
document.dispatchEvent(new CustomEvent(`${prefix}End`, {
|
|
271
281
|
detail: {}
|