41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
class Thumbnail {
|
|
static wrapImgInContainer(img, container_style_class) {
|
|
const container = document.createElement('div')
|
|
container.className = container_style_class
|
|
container.appendChild(img)
|
|
return container
|
|
}
|
|
|
|
static addSPButtonToContainer(
|
|
container,
|
|
button_id,
|
|
title,
|
|
callbackFunction,
|
|
param1
|
|
) {
|
|
const elem = document.getElementById(button_id)
|
|
const clone = elem.cloneNode(true)
|
|
const button = clone
|
|
button.style.display = null
|
|
button.removeAttribute('id')
|
|
button.setAttribute('title', title)
|
|
|
|
// Create button element
|
|
button.className = 'thumbnail-image-button'
|
|
if (callbackFunction.constructor.name === 'AsyncFunction') {
|
|
button.addEventListener(
|
|
'click',
|
|
async () => await callbackFunction(param1)
|
|
)
|
|
} else {
|
|
button.addEventListener('click', () => callbackFunction(param1))
|
|
}
|
|
|
|
container.appendChild(button)
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
Thumbnail,
|
|
}
|