@cocreate/render 1.3.25 → 1.5.0
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 +28 -0
- package/demo/fetch.html +2 -2
- package/demo/index.html +2 -2
- package/demo/suggestion.html +1 -1
- package/docs/index.html +3 -3
- package/package.json +1 -1
- package/src/index.js +40 -49
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# [1.5.0](https://github.com/CoCreate-app/CoCreate-render/compare/v1.4.2...v1.5.0) (2022-01-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* removeElement now supports remove-target, remove-closest ([154d637](https://github.com/CoCreate-app/CoCreate-render/commit/154d63761e2c76e5cf8499524583d2e3bbf4c94f))
|
|
7
|
+
|
|
8
|
+
## [1.4.2](https://github.com/CoCreate-app/CoCreate-render/compare/v1.4.1...v1.4.2) (2022-01-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* get-value attribute value now supports a selector added # to all values currently in get-value attributes ([75f7a90](https://github.com/CoCreate-app/CoCreate-render/commit/75f7a9070c02c3221fa128d90c0176bb94f2df79))
|
|
14
|
+
|
|
15
|
+
## [1.4.1](https://github.com/CoCreate-app/CoCreate-render/compare/v1.4.0...v1.4.1) (2022-01-01)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* removed data- from attributes ([62e95f9](https://github.com/CoCreate-app/CoCreate-render/commit/62e95f94719dfc19b6dd1df339ab587098b6f65c))
|
|
21
|
+
|
|
22
|
+
# [1.4.0](https://github.com/CoCreate-app/CoCreate-render/compare/v1.3.25...v1.4.0) (2021-12-31)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* added renderKey function ([dbe7190](https://github.com/CoCreate-app/CoCreate-render/commit/dbe7190e9f358ba8e85f510d326fd31bf03e40a5))
|
|
28
|
+
|
|
1
29
|
## [1.3.25](https://github.com/CoCreate-app/CoCreate-render/compare/v1.3.24...v1.3.25) (2021-12-15)
|
|
2
30
|
|
|
3
31
|
|
package/demo/fetch.html
CHANGED
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
|
|
10
10
|
<div template_id="abc1">
|
|
11
11
|
<div class="template card {{render2.collection}} card margin:10px"
|
|
12
|
-
|
|
12
|
+
value="{{render2.data._id}}"
|
|
13
13
|
template_id="abc1"
|
|
14
14
|
render-array="render2.data">
|
|
15
15
|
<div class="card-body padding:15px" collection="{{render2.collection}}">
|
|
16
16
|
<h3 class="{{render2.data.firstname}} blue" value="{{render2.data.lastname}} - {{render2.data.firstname}}">--</h3>
|
|
17
|
-
<h3
|
|
17
|
+
<h3 value="{{ render2.data.lastname }}" value="{{lastname}}"></h3>
|
|
18
18
|
<input value="{{ render2.collection }}"/>
|
|
19
19
|
<h3 class="email" value="{{render2.data.email}}">--</h3>
|
|
20
20
|
<textarea value="{{render2.data.lastname}}"></textarea>
|
package/demo/index.html
CHANGED
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
|
|
10
10
|
<div template_id="abc1">
|
|
11
11
|
<div class="template card {{render2.collection}} card margin:10px firstname"
|
|
12
|
-
|
|
12
|
+
value="{{render2.data._id}}"
|
|
13
13
|
template_id="abc1"
|
|
14
14
|
render-array="render2.data">
|
|
15
15
|
<div class="card-body padding:15px" collection="{{render2.collection}}">
|
|
16
16
|
<h3 class="{{render2.data.firstname}} blue" value="{{render2.data.lastname}} - {{render2.data.firstname}}">--</h3>
|
|
17
|
-
<h3
|
|
17
|
+
<h3 value="{{ render2.data.lastname }}" value="{{lastname}}"></h3>
|
|
18
18
|
<input value="{{ render2.collection }}"/>
|
|
19
19
|
<h3 class="email" value="{{render2.data.email}}">--</h3>
|
|
20
20
|
<textarea value="{{render2.data.lastname}}"></textarea>
|
package/demo/suggestion.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
<div template_id="abc1" fetch-collection="render_test">
|
|
11
11
|
<div class="template card {{render2.collection}} card margin:10px firstname"
|
|
12
|
-
|
|
12
|
+
value="{{render2.data._id}}"
|
|
13
13
|
template_id="abc1"
|
|
14
14
|
render-array="render2.data">
|
|
15
15
|
<div class="card-body padding:15px" collection="{{render2.collection}}">
|
package/docs/index.html
CHANGED
|
@@ -77,12 +77,12 @@
|
|
|
77
77
|
<pre><code class="language-html">
|
|
78
78
|
<div template_id="abc1" fetch-collection="render_test">
|
|
79
79
|
<div class="template card {{render2.collection}} card margin:10px firstname"
|
|
80
|
-
|
|
80
|
+
value="{{render2.data._id}}"
|
|
81
81
|
template_id="abc1"
|
|
82
82
|
render-array="render2.data">
|
|
83
83
|
<div class="card-body padding:15px" collection="{{render2.collection}}">
|
|
84
84
|
<h3 class="{{render2.data.firstname}} blue" value="{{render2.data.lastname}} - {{render2.data.firstname}}">--</h3>
|
|
85
|
-
<h3
|
|
85
|
+
<h3 value="{{ render2.data.lastname }}" value="{{lastname}}"></h3>
|
|
86
86
|
<input value="{{ render2.collection }}"/>
|
|
87
87
|
<h3 class="email" value="{{render2.data.email}}">--</h3>
|
|
88
88
|
<textarea value="{{render2.data.lastname}}"></textarea>
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
<div class="svSplitter svHorizontal"> </div>
|
|
249
249
|
|
|
250
250
|
<div class="svPanel">
|
|
251
|
-
<iframe get-value="demo" frameBorder="0" height="100%" width="100%" class="min-width:300px"></iframe>
|
|
251
|
+
<iframe get-value="#demo" frameBorder="0" height="100%" width="100%" class="min-width:300px"></iframe>
|
|
252
252
|
</div>
|
|
253
253
|
|
|
254
254
|
</div>
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*globals CustomEvent*/
|
|
2
2
|
import action from '@cocreate/actions';
|
|
3
|
-
|
|
3
|
+
// import CoCreateApi from '@cocreate/api';
|
|
4
4
|
|
|
5
5
|
const CoCreateRender = {
|
|
6
6
|
|
|
@@ -114,41 +114,19 @@ const CoCreateRender = {
|
|
|
114
114
|
return cloneEl;
|
|
115
115
|
},
|
|
116
116
|
|
|
117
|
-
setValue:function(els, data,
|
|
117
|
+
setValue:function(els, data, template){
|
|
118
118
|
if (!data) return;
|
|
119
119
|
const that = this;
|
|
120
120
|
Array.from(els).forEach(el => {
|
|
121
|
-
|
|
122
|
-
// let passId = e.getAttribute('pass_id');
|
|
123
|
-
// if (passTo && passId != passTo) {
|
|
124
|
-
// return;
|
|
125
|
-
// }
|
|
126
121
|
// if (el.classList.contains('template')) {
|
|
127
122
|
// el = this.cloneEl(el);
|
|
128
123
|
// }
|
|
129
124
|
Array.from(el.attributes).forEach(attr=>{
|
|
130
125
|
let attr_name = attr.name.toLowerCase();
|
|
131
|
-
// let isPass = false;
|
|
132
126
|
let attrValue = attr.value;
|
|
133
127
|
attrValue = that.__replaceValue(data, attrValue);
|
|
134
128
|
|
|
135
129
|
if (attrValue) {
|
|
136
|
-
// if(attr_name == 'value'){
|
|
137
|
-
// let tag = e.tagName.toLowerCase();
|
|
138
|
-
// switch (tag) {
|
|
139
|
-
// case 'input':
|
|
140
|
-
// e.setAttribute(attr_name, attrValue);
|
|
141
|
-
// break;
|
|
142
|
-
// case 'textarea':
|
|
143
|
-
// e.setAttribute(attr_name, attrValue);
|
|
144
|
-
// e.textContent = attrValue;
|
|
145
|
-
// break;
|
|
146
|
-
// default:
|
|
147
|
-
// if (e.children.length === 0) {
|
|
148
|
-
// e.innerHTML = attrValue;
|
|
149
|
-
// }
|
|
150
|
-
// }
|
|
151
|
-
// }
|
|
152
130
|
el.setAttribute(attr_name, attrValue);
|
|
153
131
|
}
|
|
154
132
|
});
|
|
@@ -162,7 +140,7 @@ const CoCreateRender = {
|
|
|
162
140
|
}
|
|
163
141
|
|
|
164
142
|
if(el.children.length > 0) {
|
|
165
|
-
that.setValue(el.children, data,
|
|
143
|
+
that.setValue(el.children, data, template);
|
|
166
144
|
}
|
|
167
145
|
if (el.classList.contains('template')) {
|
|
168
146
|
that.render(el, data);
|
|
@@ -171,7 +149,7 @@ const CoCreateRender = {
|
|
|
171
149
|
});
|
|
172
150
|
},
|
|
173
151
|
|
|
174
|
-
data: function({selector, data, elements
|
|
152
|
+
data: function({selector, data, elements}) {
|
|
175
153
|
if (selector) {
|
|
176
154
|
let template = document.querySelector(selector)
|
|
177
155
|
if (!template) return;
|
|
@@ -179,9 +157,9 @@ const CoCreateRender = {
|
|
|
179
157
|
this.render(template, data)
|
|
180
158
|
}
|
|
181
159
|
else
|
|
182
|
-
this.setValue([template], data,
|
|
160
|
+
this.setValue([template], data, template);
|
|
183
161
|
} else if (elements) {
|
|
184
|
-
this.setValue(elements, data
|
|
162
|
+
this.setValue(elements, data);
|
|
185
163
|
}
|
|
186
164
|
|
|
187
165
|
}
|
|
@@ -189,10 +167,23 @@ const CoCreateRender = {
|
|
|
189
167
|
}
|
|
190
168
|
|
|
191
169
|
function removeElement(btn) {
|
|
192
|
-
let
|
|
193
|
-
|
|
194
|
-
|
|
170
|
+
let elements;
|
|
171
|
+
let selector = btn.getAttribute('remove-target');
|
|
172
|
+
if (selector)
|
|
173
|
+
elements = document.querySelectorAll(selector)
|
|
174
|
+
else {
|
|
175
|
+
selector = btn.getAttribute('remove-closest');
|
|
176
|
+
if (selector)
|
|
177
|
+
elements = [btn.closest(selector)]
|
|
178
|
+
else
|
|
179
|
+
elements = [btn.closest('[templateid]')];
|
|
180
|
+
}
|
|
181
|
+
for(let element of elements){
|
|
182
|
+
if (element)
|
|
183
|
+
element.remove();
|
|
184
|
+
}
|
|
195
185
|
document.dispatchEvent(new CustomEvent('removeElement', {detail: {}}));
|
|
186
|
+
|
|
196
187
|
}
|
|
197
188
|
|
|
198
189
|
action.init({
|
|
@@ -204,26 +195,26 @@ action.init({
|
|
|
204
195
|
});
|
|
205
196
|
|
|
206
197
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
198
|
+
function renderKey(element) {
|
|
199
|
+
const form = element.closest("form") || document;
|
|
200
|
+
let data = CoCreate.api.getFormData('render-key', 'renderKey', form);
|
|
210
201
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
202
|
+
CoCreateRender.data({
|
|
203
|
+
selector: "[template_id='renderKey']",
|
|
204
|
+
data: {renderKey: data}
|
|
205
|
+
});
|
|
215
206
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
207
|
+
document.dispatchEvent(new CustomEvent('renderKey', {
|
|
208
|
+
detail: { data }
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
220
211
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
212
|
+
action.init({
|
|
213
|
+
action: "renderKey",
|
|
214
|
+
endEvent: "renderKey",
|
|
215
|
+
callback: (btn, data) => {
|
|
216
|
+
renderKey(btn);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
228
219
|
|
|
229
220
|
export default CoCreateRender;
|