@cocreate/api 1.22.1 → 1.22.2
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 +8 -0
- package/package.json +1 -1
- package/src/index.js +23 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [1.22.2](https://github.com/CoCreate-app/CoCreate-api/compare/v1.22.1...v1.22.2) (2025-04-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* dispatch end event on action element rather than document ([805bb62](https://github.com/CoCreate-app/CoCreate-api/commit/805bb627f7de7dc918ca41ea57bfde1e82407e4e))
|
|
7
|
+
* update observer observe param to type and and attributeName to attributeFilter ([ea6ab8d](https://github.com/CoCreate-app/CoCreate-api/commit/ea6ab8d8408696fdcc8959ea7fc199d706a5c05b))
|
|
8
|
+
|
|
1
9
|
## [1.22.1](https://github.com/CoCreate-app/CoCreate-api/compare/v1.22.0...v1.22.1) (2025-01-18)
|
|
2
10
|
|
|
3
11
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocreate/api",
|
|
3
|
-
"version": "1.22.
|
|
3
|
+
"version": "1.22.2",
|
|
4
4
|
"description": "A simple api helper component in vanilla javascript used by JavaScript developers to create thirdparty api intergrations. CoCreate-api includes the client component and server side for api processing. Thirdparty apis can be accessible using HTML5 attributes and/or JavaScript API. ",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"thirdparty-api-intergration",
|
package/src/index.js
CHANGED
|
@@ -55,7 +55,7 @@ const CoCreateApi = {
|
|
|
55
55
|
|
|
56
56
|
Observer.init({
|
|
57
57
|
name: `${name}NodeObserver`,
|
|
58
|
-
|
|
58
|
+
types: ["addedNodes"],
|
|
59
59
|
selector: `[${name}]`,
|
|
60
60
|
callback: function (mutation) {
|
|
61
61
|
inputEvent(mutation.target);
|
|
@@ -69,8 +69,8 @@ const CoCreateApi = {
|
|
|
69
69
|
|
|
70
70
|
Observer.init({
|
|
71
71
|
name: `${name}AttributeObserver`,
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
types: ["attributes"],
|
|
73
|
+
attributeFilter: [name],
|
|
74
74
|
callback: function (mutation) {
|
|
75
75
|
self.request({
|
|
76
76
|
name,
|
|
@@ -129,7 +129,7 @@ const CoCreateApi = {
|
|
|
129
129
|
} else {
|
|
130
130
|
CoCreateApi.setData(object);
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
object.element.dispatchEvent(
|
|
133
133
|
new CustomEvent(object.endEvent, {
|
|
134
134
|
detail: {
|
|
135
135
|
data: object
|
|
@@ -167,13 +167,14 @@ const CoCreateApi = {
|
|
|
167
167
|
if (!elements[i] || elements[i].closest("[template]")) continue;
|
|
168
168
|
let key = elements[i].getAttribute(`${name}-key`);
|
|
169
169
|
if (key) {
|
|
170
|
-
let value =
|
|
170
|
+
let value =
|
|
171
|
+
elements[i].stripeElement || (await elements[i].getValue());
|
|
171
172
|
if (key.endsWith("[]")) {
|
|
172
173
|
if (!data[key]) data[key] = [];
|
|
173
174
|
|
|
174
175
|
if (Array.isArray(value)) data[key].push(...value);
|
|
175
176
|
else data[key].push(value);
|
|
176
|
-
} else data[key] =
|
|
177
|
+
} else data[key] = value;
|
|
177
178
|
}
|
|
178
179
|
|
|
179
180
|
let endpoint = elements[i].getAttribute("endpoint");
|
|
@@ -212,7 +213,9 @@ const CoCreateApi = {
|
|
|
212
213
|
let form = object.form;
|
|
213
214
|
if (!form) form = document;
|
|
214
215
|
|
|
215
|
-
let elements = form.querySelectorAll(
|
|
216
|
+
let elements = form.querySelectorAll(
|
|
217
|
+
`[${name}="${object.method}"]:not([${name}-response="false"])`
|
|
218
|
+
);
|
|
216
219
|
if (!elements || elements.length == 0) return;
|
|
217
220
|
|
|
218
221
|
for (let i = 0; i < elements.length; i++) {
|
|
@@ -229,13 +232,24 @@ const CoCreateApi = {
|
|
|
229
232
|
selector: `[template="${templateid}"]`,
|
|
230
233
|
data
|
|
231
234
|
});
|
|
235
|
+
} else if (elements[i].renderValue) {
|
|
236
|
+
let key = elements[i].getAttribute(`${name}-key`);
|
|
237
|
+
if (key === "{}") {
|
|
238
|
+
elements[i].renderValue(data[name]);
|
|
239
|
+
} else {
|
|
240
|
+
let value = getValueFromObject(data[name], key);
|
|
241
|
+
if (typeof value === "function") {
|
|
242
|
+
value = value(); // Call the function and assign its return value.
|
|
243
|
+
}
|
|
244
|
+
elements[i].renderValue(value);
|
|
245
|
+
}
|
|
232
246
|
} else {
|
|
233
247
|
let key = elements[i].getAttribute(`${name}-key`);
|
|
234
248
|
if (key === "{}") elements[i].setValue(data[name]);
|
|
235
249
|
else {
|
|
236
250
|
let value = getValueFromObject(data[name], key);
|
|
237
251
|
if (typeof value === "function") {
|
|
238
|
-
value = value(); // Call the function and assign its return value
|
|
252
|
+
value = value(); // Call the function and assign its return value.
|
|
239
253
|
}
|
|
240
254
|
elements[i].setValue(value);
|
|
241
255
|
}
|
|
@@ -247,7 +261,7 @@ const CoCreateApi = {
|
|
|
247
261
|
|
|
248
262
|
Observer.init({
|
|
249
263
|
name: `apiNodeObserver`,
|
|
250
|
-
|
|
264
|
+
types: ["addedNodes"],
|
|
251
265
|
selector: "[module], [api]",
|
|
252
266
|
callback: function (mutation) {
|
|
253
267
|
let name =
|