@cocreate/render 1.20.0 → 1.21.1
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 +19 -0
- package/package.json +7 -7
- package/src/index.js +48 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## [1.21.1](https://github.com/CoCreate-app/CoCreate-render/compare/v1.21.0...v1.21.1) (2023-01-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* bump dependencies ([8be30b6](https://github.com/CoCreate-app/CoCreate-render/commit/8be30b676bb20b53165dadd8a7fd8b05388df793))
|
|
7
|
+
|
|
8
|
+
# [1.21.0](https://github.com/CoCreate-app/CoCreate-render/compare/v1.20.0...v1.21.0) (2023-01-10)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* bump dependencies ([115c000](https://github.com/CoCreate-app/CoCreate-render/commit/115c0005e3b4a0e4fc2cbc7c2dc80083bfa7b135))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* run cocreate.pass prior to rendering in dom ([968b82b](https://github.com/CoCreate-app/CoCreate-render/commit/968b82b9fa159e1196729555ebf40228cca92017))
|
|
19
|
+
|
|
1
20
|
# [1.20.0](https://github.com/CoCreate-app/CoCreate-render/compare/v1.19.2...v1.20.0) (2023-01-09)
|
|
2
21
|
|
|
3
22
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocreate/render",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.1",
|
|
4
4
|
"description": "A simple render component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"render",
|
|
@@ -60,11 +60,11 @@
|
|
|
60
60
|
"webpack-log": "^3.0.1"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@cocreate/actions": "^1.5.
|
|
64
|
-
"@cocreate/api": "^1.6.
|
|
65
|
-
"@cocreate/docs": "^1.5.
|
|
66
|
-
"@cocreate/element-prototype": "^1.
|
|
67
|
-
"@cocreate/observer": "^1.5.
|
|
68
|
-
"@cocreate/utils": "^1.17.
|
|
63
|
+
"@cocreate/actions": "^1.5.53",
|
|
64
|
+
"@cocreate/api": "^1.6.4",
|
|
65
|
+
"@cocreate/docs": "^1.5.7",
|
|
66
|
+
"@cocreate/element-prototype": "^1.4.3",
|
|
67
|
+
"@cocreate/observer": "^1.5.57",
|
|
68
|
+
"@cocreate/utils": "^1.17.20"
|
|
69
69
|
}
|
|
70
70
|
}
|
package/src/index.js
CHANGED
|
@@ -24,8 +24,8 @@ const CoCreateRender = {
|
|
|
24
24
|
|
|
25
25
|
if (parentTemplate) {
|
|
26
26
|
do {
|
|
27
|
-
if (parentTemplate.
|
|
28
|
-
value = getValueFromObject(parentTemplate.
|
|
27
|
+
if (parentTemplate.renderedData)
|
|
28
|
+
value = getValueFromObject(parentTemplate.renderedData, result[1].trim());
|
|
29
29
|
if (!value && parentTemplate.parentElement)
|
|
30
30
|
parentTemplate = parentTemplate.parentElement.closest('[templateid]')
|
|
31
31
|
else
|
|
@@ -228,10 +228,10 @@ const CoCreateRender = {
|
|
|
228
228
|
|
|
229
229
|
if (el.nodeType == 1) {
|
|
230
230
|
if (el.hasAttribute('render-clone')) {
|
|
231
|
-
if (!el.
|
|
232
|
-
el.
|
|
233
|
-
else if (Object.keys(el.
|
|
234
|
-
el.
|
|
231
|
+
if (!el.renderedData)
|
|
232
|
+
el.renderedData = {...data}
|
|
233
|
+
else if (Object.keys(el.renderedData)[0] == Object.keys(data)[0]) {
|
|
234
|
+
el.renderedData = {...data}
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
}
|
|
@@ -301,9 +301,29 @@ const CoCreateRender = {
|
|
|
301
301
|
}
|
|
302
302
|
});
|
|
303
303
|
|
|
304
|
+
if (CoCreate.pass) {
|
|
305
|
+
if (el.hasAttribute('[pass_id]'))
|
|
306
|
+
CoCreate.pass.initElement(el)
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
if (el.tagName === 'SCRIPT' && el.src) {
|
|
310
|
+
if (el.src.includes('CoCreate.js') || el.src.includes('CoCreate.min.js')) {
|
|
311
|
+
el.remove()
|
|
312
|
+
return
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
if (el.tagName === 'LINK' && el.href) {
|
|
317
|
+
if (el.href.includes('CoCreate.css') || el.href.includes('CoCreate.min.css')) {
|
|
318
|
+
el.remove()
|
|
319
|
+
return
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
304
323
|
if (el.childNodes.length > 0) {
|
|
305
324
|
that.setValue(el.childNodes, updateData || data, renderArray, renderKey);
|
|
306
325
|
}
|
|
326
|
+
|
|
307
327
|
if ((el.tagName == 'TEMPLATE' || el.hasAttribute('template') || el.classList.contains('template')) && !el.hasAttribute('template_id')) {
|
|
308
328
|
if (el.getAttribute('render-object') || el.getAttribute('render-array'))
|
|
309
329
|
that.render(el, data);
|
|
@@ -317,19 +337,20 @@ const CoCreateRender = {
|
|
|
317
337
|
let textContent, placeholder, text;
|
|
318
338
|
if (el.renderMap)
|
|
319
339
|
placeholder = el.renderMap.get(el)
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
340
|
+
if (placeholder && !isRenderKey) {
|
|
341
|
+
let updateData = data;
|
|
342
|
+
textContent = placeholder.placeholder
|
|
343
|
+
renderKey = placeholder.renderKey
|
|
344
|
+
renderArray = placeholder.renderArray
|
|
345
|
+
if (renderArray && Array.isArray(data[renderArray]))
|
|
346
|
+
updateData = data[renderArray][0]
|
|
347
|
+
else
|
|
348
|
+
updateData = data[renderArray]
|
|
349
|
+
if (renderKey)
|
|
350
|
+
updateData = {[renderKey]: updateData}
|
|
351
|
+
text = that.__replaceValue(updateData, textContent, renderKey, el);
|
|
352
|
+
}
|
|
353
|
+
|
|
333
354
|
if (!placeholder && !text) {
|
|
334
355
|
textContent = el.textContent;
|
|
335
356
|
if (!el.renderMap)
|
|
@@ -353,6 +374,10 @@ const CoCreateRender = {
|
|
|
353
374
|
} else if (!parentElement['renderMap'].has(parentElement))
|
|
354
375
|
that.renderMap(parentElement, textContent, renderArray, renderKey)
|
|
355
376
|
el.replaceWith(...newNode.childNodes)
|
|
377
|
+
|
|
378
|
+
if (el.childNodes.length > 0) {
|
|
379
|
+
that.setValue(el.childNodes, updateData || data, renderArray, renderKey);
|
|
380
|
+
}
|
|
356
381
|
}
|
|
357
382
|
}
|
|
358
383
|
}
|
|
@@ -423,15 +448,15 @@ observer.init({
|
|
|
423
448
|
if (parentElement) {
|
|
424
449
|
let el = element
|
|
425
450
|
let parentKeys = [];
|
|
426
|
-
let
|
|
451
|
+
let renderedData = new Map();
|
|
427
452
|
do {
|
|
428
453
|
let data;
|
|
429
454
|
el = el.parentElement
|
|
430
455
|
if (el) {
|
|
431
456
|
if (el.hasAttribute('render-clone'))
|
|
432
|
-
data = el.
|
|
457
|
+
data = el.renderedData
|
|
433
458
|
if (data) {
|
|
434
|
-
|
|
459
|
+
renderedData.set(data, '')
|
|
435
460
|
}
|
|
436
461
|
let parentKey = el.getAttribute('parentKey')
|
|
437
462
|
if (parentKey && parentKey != null) {
|
|
@@ -471,7 +496,7 @@ observer.init({
|
|
|
471
496
|
|
|
472
497
|
element = parentElement.firstElementChild
|
|
473
498
|
let obj = {}
|
|
474
|
-
let array = Array.from(
|
|
499
|
+
let array = Array.from(renderedData.keys())
|
|
475
500
|
for (let data of array.reverse()){
|
|
476
501
|
obj = {...obj, ...data}
|
|
477
502
|
}
|