@cocreate/render 1.28.4 → 1.28.6
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 +15 -0
- package/package.json +1 -1
- package/src/index.js +30 -36
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## [1.28.6](https://github.com/CoCreate-app/CoCreate-render/compare/v1.28.5...v1.28.6) (2023-10-17)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* await getValue() ([f57bd36](https://github.com/CoCreate-app/CoCreate-render/commit/f57bd36937dcb854d341d4f8b7f7d39b1c8f5bf7))
|
|
7
|
+
|
|
8
|
+
## [1.28.5](https://github.com/CoCreate-app/CoCreate-render/compare/v1.28.4...v1.28.5) (2023-10-16)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* render delete nodes ([1921e57](https://github.com/CoCreate-app/CoCreate-render/commit/1921e572051d62aa53513f5379538f3df3c76d93))
|
|
14
|
+
* update and delete for loop data.type ([cc5e4b5](https://github.com/CoCreate-app/CoCreate-render/commit/cc5e4b5ef33814de59159204f6af8648b6fdfbca))
|
|
15
|
+
|
|
1
16
|
## [1.28.4](https://github.com/CoCreate-app/CoCreate-render/compare/v1.28.3...v1.28.4) (2023-10-14)
|
|
2
17
|
|
|
3
18
|
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -100,7 +100,7 @@ async function render({ source, element, data, key, index, currentIndex, update,
|
|
|
100
100
|
|
|
101
101
|
for (let i = 0; i < element.length; i++) {
|
|
102
102
|
if (!key)
|
|
103
|
-
key = element[i].getAttribute('render')
|
|
103
|
+
key = element[i].getAttribute('render') || type
|
|
104
104
|
|
|
105
105
|
let renderedNode = renderedNodes.get(element[i])
|
|
106
106
|
if (source) {
|
|
@@ -110,43 +110,37 @@ async function render({ source, element, data, key, index, currentIndex, update,
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
// TODO: for loop data[type]?
|
|
114
113
|
if (remove) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
for (let j = 0; j < data[type].length; j++) {
|
|
115
|
+
let cloneKey
|
|
116
|
+
if (type === 'object') {
|
|
117
|
+
cloneKey = data[type][j]._id;
|
|
118
|
+
} else {
|
|
119
|
+
cloneKey = data[type][j].name;
|
|
120
120
|
}
|
|
121
|
-
}
|
|
122
121
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
cloneKey = data[type][0]._id;
|
|
126
|
-
} else {
|
|
127
|
-
cloneKey = data[type][0].name;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
let clone = renderedNode.clones.get(cloneKey)
|
|
131
|
-
if (!clone) return
|
|
122
|
+
let clone = renderedNode.clones.get(cloneKey)
|
|
123
|
+
if (!clone) return
|
|
132
124
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
125
|
+
renderedNode.clones.delete(cloneKey)
|
|
126
|
+
renderedNodes.delete(clone)
|
|
127
|
+
clone.remove()
|
|
128
|
+
}
|
|
136
129
|
} else if (key || Array.isArray(data)) {
|
|
137
130
|
if (update) {
|
|
138
|
-
let
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
131
|
+
for (let j = 0; j < data[type].length; j++) {
|
|
132
|
+
let clone
|
|
133
|
+
if (type === 'object') {
|
|
134
|
+
clone = renderedNode.clones.get(data[type][j]._id);
|
|
135
|
+
} else {
|
|
136
|
+
clone = renderedNode.clones.get(data[type][j].name);
|
|
137
|
+
}
|
|
144
138
|
|
|
145
|
-
|
|
146
|
-
|
|
139
|
+
if (!currentIndex)
|
|
140
|
+
currentIndex = data.$filter.currentIndex
|
|
141
|
+
|
|
142
|
+
if (!clone) return
|
|
147
143
|
|
|
148
|
-
if (!clone) return
|
|
149
|
-
for (let j = 0; j < data[type].length; j++) {
|
|
150
144
|
await renderValues(clone, { object: data[type][j] });
|
|
151
145
|
if (currentIndex >= 0)
|
|
152
146
|
insertElement(renderedNode, clone, index, currentIndex)
|
|
@@ -170,8 +164,8 @@ async function render({ source, element, data, key, index, currentIndex, update,
|
|
|
170
164
|
}
|
|
171
165
|
|
|
172
166
|
async function renderTemplate(template, data, key, index, keyPath) {
|
|
173
|
-
if (!key)
|
|
174
|
-
|
|
167
|
+
// if (!key)
|
|
168
|
+
// key = template.getAttribute('render')
|
|
175
169
|
|
|
176
170
|
let templateData = renderedNodes.get(template)
|
|
177
171
|
if (!templateData) {
|
|
@@ -636,7 +630,7 @@ function getRenderValue(node, data, key, renderAs) {
|
|
|
636
630
|
return value
|
|
637
631
|
}
|
|
638
632
|
|
|
639
|
-
function renderKey(element, params) {
|
|
633
|
+
async function renderKey(element, params) {
|
|
640
634
|
// TODO: custom render-keys
|
|
641
635
|
const form = element.closest("form") || document;
|
|
642
636
|
if (!params)
|
|
@@ -648,7 +642,7 @@ function renderKey(element, params) {
|
|
|
648
642
|
for (let el of elements) {
|
|
649
643
|
let attribute = el.getAttribute(params)
|
|
650
644
|
if (attribute)
|
|
651
|
-
data[attribute] = el.getValue()
|
|
645
|
+
data[attribute] = await el.getValue()
|
|
652
646
|
}
|
|
653
647
|
data = dotNotationToObject(data)
|
|
654
648
|
let renderData = { data: { [params]: data } }
|
|
@@ -684,9 +678,9 @@ Observer.init({
|
|
|
684
678
|
name: 'fileRender',
|
|
685
679
|
observe: ['attributes'],
|
|
686
680
|
attributeName: ['render-selector', 'render-closest', 'render-parent', 'render-next', 'render-previous'],
|
|
687
|
-
callback: function (mutation) {
|
|
681
|
+
callback: async function (mutation) {
|
|
688
682
|
render({
|
|
689
|
-
element: mutation.target, data: mutation.target.getValue()
|
|
683
|
+
element: mutation.target, data: await mutation.target.getValue()
|
|
690
684
|
});
|
|
691
685
|
}
|
|
692
686
|
});
|