1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
promiseUtils.eachAlways(portalItems).then(function(items) {
var docFrag = document.createDocumentFragment();
items.map(function(result) {
var item = result.value;
var card = intl.substitute(template, item);
var elem = document.createElement("div");
elem.innerHTML = card;
// This is a technique to turn a DOM string to a DOM element.var target = elem.firstChild;
docFrag.appendChild(target);
target.addEventListener("dragstart", function(event) {
var id = event.currentTarget.getAttribute("data-itemid");
event.dataTransfer.setData("text", id);
});
});
document.querySelector(".cards-list").appendChild(docFrag);
...
});