2018-06-15 12:42:20 -04:00
|
|
|
import { withPluginApi } from "discourse/lib/plugin-api";
|
2021-07-15 14:31:50 -04:00
|
|
|
import initLazyYt from "../lib/lazyYT";
|
2014-07-21 22:39:32 -04:00
|
|
|
|
|
|
|
export default {
|
|
|
|
name: "apply-lazyYT",
|
2016-02-12 15:46:36 -05:00
|
|
|
initialize() {
|
2018-06-15 12:42:20 -04:00
|
|
|
withPluginApi("0.1", (api) => {
|
2021-07-15 14:31:50 -04:00
|
|
|
initLazyYt($);
|
2019-06-11 11:21:23 -04:00
|
|
|
api.decorateCooked(
|
|
|
|
($elem) => {
|
|
|
|
const iframes = $(".lazyYT", $elem);
|
|
|
|
if (iframes.length === 0) {
|
|
|
|
return;
|
|
|
|
}
|
2016-10-31 11:27:07 -04:00
|
|
|
|
2019-06-11 11:21:23 -04:00
|
|
|
$(".lazyYT", $elem).lazyYT({
|
|
|
|
onPlay(e, $el) {
|
|
|
|
// don't cloak posts that have playing videos in them
|
2019-11-12 06:07:19 -05:00
|
|
|
const postId = parseInt(
|
|
|
|
$el.closest("article").data("post-id"),
|
|
|
|
10
|
|
|
|
);
|
2019-06-11 11:21:23 -04:00
|
|
|
if (postId) {
|
|
|
|
api.preventCloak(postId);
|
|
|
|
}
|
2016-10-31 11:27:07 -04:00
|
|
|
},
|
2019-06-11 11:21:23 -04:00
|
|
|
});
|
|
|
|
},
|
|
|
|
{ id: "discourse-lazyyt" }
|
|
|
|
);
|
2016-02-16 12:17:22 -05:00
|
|
|
});
|
2014-07-21 22:39:32 -04:00
|
|
|
},
|
|
|
|
};
|