@cocreate/render 1.12.0 → 1.12.3
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 +21 -0
- package/demo/render.array.html +1 -1
- package/demo/render.object.html +1 -1
- package/package.json +1 -1
- package/src/index.css +1 -0
- package/src/index.js +27 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## [1.12.3](https://github.com/CoCreate-app/CoCreate-render/compare/v1.12.2...v1.12.3) (2022-08-19)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add css file for class template display none ([4cfa7ee](https://github.com/CoCreate-app/CoCreate-render/commit/4cfa7ee8a6a1d4105f9144ce713a3435db4090f6))
|
|
7
|
+
|
|
8
|
+
## [1.12.2](https://github.com/CoCreate-app/CoCreate-render/compare/v1.12.1...v1.12.2) (2022-08-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* renderKey action does not work with renderMap. added isRenderKey to skip renderMap as temp solution ([7e90de8](https://github.com/CoCreate-app/CoCreate-render/commit/7e90de81b596154d3ab0b36e7326dfb8e67e6684))
|
|
14
|
+
|
|
15
|
+
## [1.12.1](https://github.com/CoCreate-app/CoCreate-render/compare/v1.12.0...v1.12.1) (2022-07-31)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* moved the of loop that adds dataOriginal to inside if elements ([a1db516](https://github.com/CoCreate-app/CoCreate-render/commit/a1db516d6c4739581ab59db5ab5e746e8f409985))
|
|
21
|
+
|
|
1
22
|
# [1.12.0](https://github.com/CoCreate-app/CoCreate-render/compare/v1.11.0...v1.12.0) (2022-07-29)
|
|
2
23
|
|
|
3
24
|
|
package/demo/render.array.html
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
</cc-options>
|
|
20
20
|
|
|
21
21
|
<div class="template" template_id="abc1">
|
|
22
|
-
<div class="template" render-array="data.current" render-key="current_org" value="{{current_org.name}}">
|
|
22
|
+
<div class="template" render-array="data[0].current" render-key="current_org" value="{{current_org.name}}">
|
|
23
23
|
<h3>{{current_org.name}}</h3>
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
package/demo/render.object.html
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<div class="template" render-object="" render-key="one">
|
|
17
17
|
<h5>{{one.key}}: {{one.value}}</h5>
|
|
18
18
|
</div>
|
|
19
|
-
<div class="template" render-array="data.current_org" render-key="current_org" value="{{current_org}}">
|
|
19
|
+
<div class="template" render-array="data[0].current_org" render-key="current_org" value="{{current_org}}">
|
|
20
20
|
<h3>{{current_org}}</h3>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
package/package.json
CHANGED
package/src/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.template {display: none !important;}
|
package/src/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import action from '@cocreate/actions';
|
|
|
3
3
|
import observer from '@cocreate/observer';
|
|
4
4
|
import uuid from '@cocreate/uuid';
|
|
5
5
|
import { queryDocumentSelector } from '@cocreate/utils';
|
|
6
|
+
import './index.css';
|
|
6
7
|
// import { getValue } from '../../CoCreate-elements/src/getValue';
|
|
7
8
|
// import api from '@cocreate/api';
|
|
8
9
|
|
|
@@ -197,6 +198,10 @@ const CoCreateRender = {
|
|
|
197
198
|
|
|
198
199
|
setValue: function(els, data, renderArray, renderKey){
|
|
199
200
|
if (!data) return;
|
|
201
|
+
let isRenderKey
|
|
202
|
+
if (data.renderKey)
|
|
203
|
+
isRenderKey = true
|
|
204
|
+
|
|
200
205
|
const that = this;
|
|
201
206
|
Array.from(els).forEach(el => {
|
|
202
207
|
let updateData;
|
|
@@ -205,16 +210,16 @@ const CoCreateRender = {
|
|
|
205
210
|
if (el.hasAttribute('render-clone')) {
|
|
206
211
|
el.renderData = {...data}
|
|
207
212
|
}
|
|
208
|
-
if (el.renderMap) {
|
|
213
|
+
if (el.renderMap && !isRenderKey) {
|
|
209
214
|
let placeholder = el.renderMap.get(el)
|
|
210
215
|
if (placeholder){
|
|
211
216
|
let valueType = el.getAttribute('value-type')
|
|
212
217
|
renderKey = placeholder.renderKey
|
|
213
218
|
renderArray = placeholder.renderArray
|
|
214
|
-
if (renderArray)
|
|
215
|
-
|
|
219
|
+
if (renderArray && Array.isArray(data[renderArray]))
|
|
220
|
+
updateData = data[renderArray][0]
|
|
216
221
|
if (renderKey)
|
|
217
|
-
|
|
222
|
+
updateData = {[renderKey]: updateData}
|
|
218
223
|
let textContent = placeholder.placeholder
|
|
219
224
|
let text = that.__replaceValue(updateData, textContent, renderKey, valueType);
|
|
220
225
|
if (text && text != el.renderedValue)
|
|
@@ -225,20 +230,19 @@ const CoCreateRender = {
|
|
|
225
230
|
Array.from(el.attributes).forEach(attr=>{
|
|
226
231
|
let attr_name = attr.name.toLowerCase();
|
|
227
232
|
let attrValue = attr.value;
|
|
228
|
-
|
|
229
233
|
let placeholder
|
|
230
234
|
if (attr.renderMap)
|
|
231
235
|
placeholder = attr.renderMap.get(attr)
|
|
232
236
|
else
|
|
233
237
|
that.renderMap(attr, attr.value, renderArray, renderKey)
|
|
234
238
|
|
|
235
|
-
if(placeholder){
|
|
239
|
+
if(placeholder && !isRenderKey){
|
|
236
240
|
let updateData = data;
|
|
237
241
|
// let oldValue = attrValue
|
|
238
242
|
let temp = placeholder.placeholder;
|
|
239
243
|
renderKey = placeholder.renderKey
|
|
240
244
|
renderArray = placeholder.renderArray
|
|
241
|
-
if (renderArray)
|
|
245
|
+
if (renderArray && Array.isArray(data[renderArray]))
|
|
242
246
|
updateData = data[renderArray][0]
|
|
243
247
|
if (renderKey)
|
|
244
248
|
updateData = {[renderKey]: updateData}
|
|
@@ -263,7 +267,13 @@ const CoCreateRender = {
|
|
|
263
267
|
}
|
|
264
268
|
if (el.classList.contains('template') && !el.hasAttribute('template_id')) {
|
|
265
269
|
that.render(el, data);
|
|
266
|
-
}
|
|
270
|
+
}
|
|
271
|
+
// if (el.hasAttribute('render-array') || el.hasAttribute('render-object')) {
|
|
272
|
+
// if (!el.dataOriginal) {
|
|
273
|
+
// that.render(el, data);
|
|
274
|
+
// }
|
|
275
|
+
// }
|
|
276
|
+
|
|
267
277
|
}
|
|
268
278
|
|
|
269
279
|
if (el.nodeType == 3) {
|
|
@@ -272,12 +282,12 @@ const CoCreateRender = {
|
|
|
272
282
|
let textContent, placeholder, text;
|
|
273
283
|
if (el.renderMap)
|
|
274
284
|
placeholder = el.renderMap.get(el)
|
|
275
|
-
if (placeholder) {
|
|
285
|
+
if (placeholder && !isRenderKey) {
|
|
276
286
|
let updateData = data;
|
|
277
287
|
textContent = placeholder.placeholder
|
|
278
288
|
renderKey = placeholder.renderKey
|
|
279
289
|
renderArray = placeholder.renderArray
|
|
280
|
-
if (renderArray)
|
|
290
|
+
if (renderArray && Array.isArray(data[renderArray]))
|
|
281
291
|
updateData = data[renderArray][0]
|
|
282
292
|
if (renderKey)
|
|
283
293
|
updateData = {[renderKey]: updateData}
|
|
@@ -285,7 +295,8 @@ const CoCreateRender = {
|
|
|
285
295
|
}
|
|
286
296
|
if (!placeholder && !text) {
|
|
287
297
|
textContent = el.textContent;
|
|
288
|
-
|
|
298
|
+
if (!el.renderMap)
|
|
299
|
+
that.renderMap(el, textContent, renderArray, renderKey)
|
|
289
300
|
text = that.__replaceValue(data, textContent, renderKey, valueType);
|
|
290
301
|
}
|
|
291
302
|
|
|
@@ -325,12 +336,11 @@ const CoCreateRender = {
|
|
|
325
336
|
this.dataOriginal = {...data};
|
|
326
337
|
delete this.dataOriginal.data
|
|
327
338
|
|
|
328
|
-
for (let element of elements)
|
|
329
|
-
element.dataOriginal = {...this.dataOriginal};
|
|
330
|
-
|
|
331
339
|
if (selector) {
|
|
332
340
|
let template = queryDocumentSelector(selector);
|
|
333
341
|
if (!template) return;
|
|
342
|
+
if (template.tagNmae === 'TEMPLATE')
|
|
343
|
+
template = template.childNodes;
|
|
334
344
|
template.dataOriginal = {...data}
|
|
335
345
|
if (template.classList.contains('template')) {
|
|
336
346
|
this.render(template, data);
|
|
@@ -338,6 +348,9 @@ const CoCreateRender = {
|
|
|
338
348
|
else
|
|
339
349
|
this.setValue([template], data);
|
|
340
350
|
} else if (elements) {
|
|
351
|
+
for (let element of elements)
|
|
352
|
+
element.dataOriginal = {...this.dataOriginal};
|
|
353
|
+
|
|
341
354
|
if (elements.length == 1 && elements[0].classList.contains('template')){
|
|
342
355
|
this.render(elements[0], data);
|
|
343
356
|
}
|