add swiper
This commit is contained in:
parent
47acab8944
commit
6d96ab38a9
63
main.js
63
main.js
@ -10,6 +10,7 @@
|
|||||||
// @require https://code.jquery.com/jquery-3.7.1.min.js
|
// @require https://code.jquery.com/jquery-3.7.1.min.js
|
||||||
// @require https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js
|
// @require https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js
|
||||||
// @require https://api.mapbox.com/mapbox.js/plugins/leaflet-fullscreen/v1.0.1/Leaflet.fullscreen.min.js
|
// @require https://api.mapbox.com/mapbox.js/plugins/leaflet-fullscreen/v1.0.1/Leaflet.fullscreen.min.js
|
||||||
|
// @require https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js
|
||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
@ -113,11 +114,10 @@
|
|||||||
|
|
||||||
if (type == "img") {
|
if (type == "img") {
|
||||||
displayedFile.src = preview
|
displayedFile.src = preview
|
||||||
|
displayedFile.dataset.origin = file
|
||||||
displayedFile.addEventListener("click", () => {
|
displayedFile.addEventListener("click", () => {
|
||||||
let dialog = document.querySelector("dialog")
|
let dialog = document.querySelector("dialog")
|
||||||
let dialogFile = displayedFile.cloneNode(true)
|
makeSwiper(dialog, fileListContainer, file)
|
||||||
dialogFile.src = file
|
|
||||||
dialog.appendChild(dialogFile)
|
|
||||||
dialog.showModal()
|
dialog.showModal()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -210,7 +210,7 @@
|
|||||||
displayedFile.file = file
|
displayedFile.file = file
|
||||||
displayedFile.addEventListener("click", () => {
|
displayedFile.addEventListener("click", () => {
|
||||||
let dialog = document.querySelector("dialog")
|
let dialog = document.querySelector("dialog")
|
||||||
dialog.appendChild(displayedFile.cloneNode(true))
|
makeSwiper(dialog, fileListContainer, displayedFile.src)
|
||||||
dialog.showModal()
|
dialog.showModal()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -414,6 +414,51 @@
|
|||||||
elList.forEach(el => el.classList.remove("hidden"))
|
elList.forEach(el => el.classList.remove("hidden"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function makeSwiper(dialog, fileListContainer, src) {
|
||||||
|
let files = [...fileListContainer.querySelectorAll(`:is(.preview, .preview-small)`)]
|
||||||
|
|
||||||
|
let swiperDiv = document.createElement("div")
|
||||||
|
swiperDiv.classList.add("swiper")
|
||||||
|
|
||||||
|
let swiperWrapper = document.createElement("div")
|
||||||
|
swiperWrapper.classList.add("swiper-wrapper")
|
||||||
|
|
||||||
|
for (const file of files) {
|
||||||
|
let swiperFile = file.cloneNode(true)
|
||||||
|
if (swiperFile.dataset.origin)
|
||||||
|
swiperFile.src = swiperFile.dataset.origin
|
||||||
|
|
||||||
|
swiperFile.classList.add("swiper-slide")
|
||||||
|
swiperWrapper.appendChild(swiperFile)
|
||||||
|
}
|
||||||
|
|
||||||
|
swiperDiv.appendChild(swiperWrapper)
|
||||||
|
|
||||||
|
let prevButton = document.createElement("div")
|
||||||
|
prevButton.classList.add("swiper-button-prev")
|
||||||
|
swiperDiv.appendChild(prevButton)
|
||||||
|
|
||||||
|
let nextButton = document.createElement("div")
|
||||||
|
nextButton.classList.add("swiper-button-next")
|
||||||
|
swiperDiv.appendChild(nextButton)
|
||||||
|
|
||||||
|
dialog.appendChild(swiperDiv)
|
||||||
|
|
||||||
|
console.log(src)
|
||||||
|
console.log(files.map(it => it.src))
|
||||||
|
console.log(files.findIndex(el => el.dataset.origin && el.dataset.origin === src || el.src === src))
|
||||||
|
|
||||||
|
new Swiper('.swiper', {
|
||||||
|
initialSlide: files.findIndex(el => el.dataset.origin && el.dataset.origin === src || el.src === src),
|
||||||
|
|
||||||
|
navigation: {
|
||||||
|
nextEl: '.swiper-button-next',
|
||||||
|
prevEl: '.swiper-button-prev',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
let styles = `
|
let styles = `
|
||||||
#content-wrapper {
|
#content-wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -649,11 +694,18 @@
|
|||||||
cursor: zoom-in;
|
cursor: zoom-in;
|
||||||
}
|
}
|
||||||
|
|
||||||
dialog .preview {
|
dialog .preview,
|
||||||
|
.swiper {
|
||||||
max-width: 1000px;
|
max-width: 1000px;
|
||||||
max-height: 600px;
|
max-height: 600px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.swiper-button-next,
|
||||||
|
.swiper-button-prev {
|
||||||
|
user-select: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
button.button-delete {
|
button.button-delete {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
@ -694,6 +746,7 @@
|
|||||||
|
|
||||||
addCss("https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css")
|
addCss("https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css")
|
||||||
addCss('https://api.mapbox.com/mapbox.js/plugins/leaflet-fullscreen/v1.0.1/leaflet.fullscreen.css')
|
addCss('https://api.mapbox.com/mapbox.js/plugins/leaflet-fullscreen/v1.0.1/leaflet.fullscreen.css')
|
||||||
|
addCss("https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css")
|
||||||
|
|
||||||
/* NEW DEFALUT VALUES */
|
/* NEW DEFALUT VALUES */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user