discourse/plugins/lazy-yt/assets/javascripts/initializers/lazyYT.js

34 lines
832 B
JavaScript

import { withPluginApi } from "discourse/lib/plugin-api";
import initLazyYt from "../lib/lazyYT";
export default {
name: "apply-lazyYT",
initialize() {
withPluginApi("0.1", (api) => {
initLazyYt($);
api.decorateCooked(
($elem) => {
const iframes = $(".lazyYT", $elem);
if (iframes.length === 0) {
return;
}
$(".lazyYT", $elem).lazyYT({
onPlay(e, $el) {
// don't cloak posts that have playing videos in them
const postId = parseInt(
$el.closest("article").data("post-id"),
10
);
if (postId) {
api.preventCloak(postId);
}
},
});
},
{ id: "discourse-lazyyt" }
);
});
},
};