Skip to content

Commit a26c5ea

Browse files
authored
Merge pull request #24 from mindgamesdigital/clone-props
Copy properties after cloning node
2 parents d039af4 + f95b950 commit a26c5ea

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

iron-swiper.html

+10-6
Original file line numberDiff line numberDiff line change
@@ -366,22 +366,25 @@
366366
e.preventDefault();
367367
}
368368

369+
_copyProperties(node1, node2) {
370+
Object.keys(node1.constructor.properties).forEach(key => node2[key] = node1[key]);
371+
}
372+
369373
init() {
370374
clearTimeout(this._initializer);
371375
this._initializer = setTimeout(function() {
372376
// First clone real nodes into the wrapper
373-
var _nodes = [];
374-
377+
const _nodes = [];
378+
const excludeTagNames = ['TEMPLATE', 'DOM-REPEAT', 'DOM-IF'];
375379
let slides = Polymer.FlattenedNodesObserver.getFlattenedNodes(this)
376380
.filter(
377381
function(node) {
378382
return node.tagName &&
379-
node.tagName !== 'TEMPLATE' &&
383+
excludeTagNames.indexOf(node.tagName) === -1 &&
380384
!node.classList.contains('swiper-slide');
381385
});
382386

383-
var wrapper = this.$.wrapper;
384-
387+
const wrapper = this.$.wrapper;
385388
wrapper.innerHTML = '';
386389
wrapper.removeAttribute('style');
387390

@@ -391,7 +394,8 @@
391394
slides[i].classList.add('swiper-no-swiping');
392395
}
393396

394-
var node = wrapper.appendChild(slides[i].cloneNode(true));
397+
const node = wrapper.appendChild(slides[i].cloneNode(true));
398+
this._copyProperties(slides[i], node);
395399
node.classList.add('swiper-slide');
396400
node.setAttribute('index', i.toString());
397401
node.removeEventListener('click', this._nodeClicked);

0 commit comments

Comments
 (0)