mirror of
https://github.com/wassname/talk.git
synced 2026-07-14 11:18:50 +08:00
808b355a27
* feat: inject comment counts * fix: tests * feat: integrate stream embed with coral counts * chore: refactor constants * test: test for count bundle * test: test live comment count integration with stream embed * feat: use defer * fix: snapshot * feat: auto add count.js in when calling Coral.createStreamEmbed * fix: tests * fix: rm duplicate test * chore: remove unuse file
19 lines
602 B
TypeScript
19 lines
602 B
TypeScript
import { COUNT_SELECTOR } from "coral-framework/constants";
|
|
|
|
/** Injects a global CoralCount callback into the window object to be used in JSONP */
|
|
function injectJSONPCallback() {
|
|
(window as any).CoralCount = {
|
|
setCount: (data: { ref: string; html: string }) => {
|
|
// Find all the elements with ref.
|
|
const elements = document.querySelectorAll(
|
|
`${COUNT_SELECTOR}[data-coral-ref='${data.ref}']`
|
|
);
|
|
Array.prototype.forEach.call(elements, (element: HTMLElement) => {
|
|
element.innerHTML = data.html;
|
|
});
|
|
},
|
|
};
|
|
}
|
|
|
|
export default injectJSONPCallback;
|