35 lines
839 B
JavaScript
35 lines
839 B
JavaScript
const tingle = require('tingle.js/src/tingle.js')
|
|
|
|
const MeshViewer = function (w) {
|
|
this.window = w
|
|
}
|
|
|
|
MeshViewer.prototype.init = function () {
|
|
const openers = this.window.document.querySelectorAll('*[data-modal]')
|
|
|
|
for (let i = 0, len = openers.length; i < len; i++) {
|
|
openers[i].addEventListener('click', (e) => {
|
|
e.preventDefault()
|
|
|
|
let target = e.target
|
|
|
|
if (target.tagName != 'A') {
|
|
target = target.parentNode
|
|
}
|
|
|
|
const modal = new tingle.modal({
|
|
footer: false,
|
|
stickyFooter: false,
|
|
closeMethods: ['overlay', 'button', 'escape'],
|
|
closeLabel: 'Close',
|
|
cssClass: ['tingle-modal-box--mesh']
|
|
})
|
|
|
|
modal.setContent('<iframe src="' + target.getAttribute('href') + '"></iframe>')
|
|
modal.open()
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = MeshViewer
|