PageSourceSearch

https://ont.io/news/wp-content/plugins/convertkit/resources/frontend/js/broadcasts.js?ver=3.0.6

js ont.io collected 2026-10-03 19:02:34 UTC 2,805 bytes, 99 lines download raw bytes

1/**
2 * Frontend functionality for the Broadcasts block and shortcode.
3 *
4 * @since   1.9.7.4
5 *
6 * @author ConvertKit
7 */
8
9/**
10 * Register events
11 */
12document.addEventListener('DOMContentLoaded', function () {
13	// Listen for click events.
14	document.addEventListener('click', function (e) {
15		// Check the broadcasts pagination was clicked.
16		if (e.target.matches('ul.convertkit-broadcasts-pagination a')) {
17			e.preventDefault();
18
19			// Get block container and build object of data-* attributes.
20			const blockContainer = e.target.closest(
21				'div.convertkit-broadcasts'
22			);
23			const atts = {
24				display_date: blockContainer.dataset.displayDate,
25				date_format: blockContainer.dataset.dateFormat,
26				display_image: blockContainer.dataset.displayImage,
27				display_description: blockContainer.dataset.displayDescription,
28				display_read_more: blockContainer.dataset.displayReadMore,
29				read_more_label: blockContainer.dataset.readMoreLabel,
30				limit: blockContainer.dataset.limit,
31				paginate: blockContainer.dataset.paginate,
32				paginate_label_prev: blockContainer.dataset.paginateLabelPrev,
33				paginate_label_next: blockContainer.dataset.paginateLabelNext,
34				link_color: blockContainer.dataset.linkColor,
35				page: e.target.dataset.page,
36				nonce: e.target.dataset.nonce,
37			};
38
39			convertKitBroadcastsRender(blockContainer, atts);
40		}
41	});
42});
43
44/**
45 * Sends an AJAX request to request HTML based on the supplied block attributes,
46 * when pagination is used on a Broadcast block.
47 *
48 * @since 	1.9.7.6
49 *
50 * @param {Object} blockContainer DOM object of the block to refresh the HTML in.
51 * @param {Object} atts           Block attributes
52 */
53function convertKitBroadcastsRender(blockContainer, atts) {
54	// Append action.
55	atts.action = convertkit_broadcasts.action;
56
57	if (convertkit_broadcasts.debug) {
58		console.log('convertKitBroadcastsRender()');
59		console.log(atts);
60	}
61
62	// Show loading indicator.
63	blockContainer.classList.add('convertkit-broadcasts-loading');
64
65	// Fetch HTML.
66	fetch(convertkit_broadcasts.ajax_url, {
67		method: 'POST',
68		headers: {
69			'Content-Type': 'application/x-www-form-urlencoded',
70		},
71		body: new URLSearchParams(atts),
72	})
73		.then(function (response) {
74			if (convertkit_broadcasts.debug) {
75				console.log(response);
76			}
77
78			return response.json();
79		})
80		.then(function (result) {
81			if (convertkit_broadcasts.debug) {
82				console.log(result);
83			}
84
85			// Remove loading indicator.
86			blockContainer.classList.remove('convertkit-broadcasts-loading');
87
88			// Replace block container's HTML with response data.
89			blockContainer.innerHTML = result.data;
90		})
91		.catch(function (error) {
92			if (convertkit.debug) {
93				console.error(error);
94			}
95
96			// Remove loading indicator.
97			blockContainer.classList.remove('convertkit-broadcasts-loading');
98		});
99}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.