@cocreate/render 1.28.4 → 1.28.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 CHANGED
@@ -1,3 +1,11 @@
1
+ ## [1.28.5](https://github.com/CoCreate-app/CoCreate-render/compare/v1.28.4...v1.28.5) (2023-10-16)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * render delete nodes ([1921e57](https://github.com/CoCreate-app/CoCreate-render/commit/1921e572051d62aa53513f5379538f3df3c76d93))
7
+ * update and delete for loop data.type ([cc5e4b5](https://github.com/CoCreate-app/CoCreate-render/commit/cc5e4b5ef33814de59159204f6af8648b6fdfbca))
8
+
1
9
  ## [1.28.4](https://github.com/CoCreate-app/CoCreate-render/compare/v1.28.3...v1.28.4) (2023-10-14)
2
10
 
3
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocreate/render",
3
- "version": "1.28.4",
3
+ "version": "1.28.5",
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",
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
- if (renderedNode.source) {
116
- if (key)
117
- renderedNode.source.data[key].splice(index, 1)
118
- else {
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
- let cloneKey
124
- if (type === 'object') {
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
- renderedNode.clones.delete(cloneKey)
134
- renderedNodes.delete(clone)
135
- clone.remove()
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 clone
139
- if (type === 'object') {
140
- clone = renderedNode.clones.get(data[type][0]._id);
141
- } else {
142
- clone = renderedNode.clones.get(data[type][0].name);
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
- if (!currentIndex)
146
- currentIndex = data.$filter.currentIndex
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
- key = template.getAttribute('render')
167
+ // if (!key)
168
+ // key = template.getAttribute('render')
175
169
 
176
170
  let templateData = renderedNodes.get(template)
177
171
  if (!templateData) {