@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 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
 
@@ -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>
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocreate/render",
3
- "version": "1.12.0",
3
+ "version": "1.12.3",
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.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
- updateData = data[renderArray][0]
219
+ if (renderArray && Array.isArray(data[renderArray]))
220
+ updateData = data[renderArray][0]
216
221
  if (renderKey)
217
- updateData = {[renderKey]: updateData}
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
- that.renderMap(el, textContent, renderArray, renderKey)
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
  }