PageSourceSearch

https://fichte-hagen.de/wp-content/plugins/the-events-calendar/src/resources/js/views/viewport.js?ver=5.12.2

js fichte-hagen.de collected 2026-10-07 11:18:15 UTC 3,711 bytes, 159 lines download raw bytes

1/**
2 * Makes sure we have all the required levels on the Tribe Object
3 *
4 * @since 4.9.7
5 *
6 * @type   {PlainObject}
7 */
8tribe.events = tribe.events || {};
9tribe.events.views = tribe.events.views || {};
10
11/**
12 * Configures Viewport Object in the Global Tribe variable
13 *
14 * @since 4.9.7
15 *
16 * @type   {PlainObject}
17 */
18tribe.events.views.viewport = {};
19
20/**
21 * Initializes in a Strict env the code that manages the Event Views
22 *
23 * @since 4.9.7
24 *
25 * @param  {PlainObject} $   jQuery
26 * @param  {PlainObject} obj tribe.events.views.viewport
27 *
28 * @return {void}
29 */
30( function( $, obj ) {
31	'use strict';
32	var $window = $( window );
33	var $document = $( document );
34
35	/**
36	 * Object of options
37	 *
38	 * @since 4.9.7
39	 *
40	 * @type {PlainObject}
41	 */
42	obj.options = {
43		MOBILE_BREAKPOINT: tribe.events.views.breakpoints.breakpoints.medium || 768,
44	};
45
46	/**
47	 * Set viewport state for container
48	 *
49	 * @since 4.9.7
50	 *
51	 * @param {jQuery} $container jQuery object of view container
52	 *
53	 * @return {void}
54	 */
55	obj.setViewport = function( $container ) {
56		var state = $container.data( 'tribeEventsState' );
57
58		if ( ! state ) {
59			state = {};
60		}
61
62		state.isMobile = $container.outerWidth() < obj.options.MOBILE_BREAKPOINT;
63		$container.data( 'tribeEventsState', state );
64	};
65
66	/**
67	 * Handles window resize event
68	 *
69	 * @since 4.9.7
70	 *
71	 * @param {Event} event event object for 'resize' event
72	 *
73	 * @return {void}
74	 */
75	obj.handleResize = function( event ) {
76		var $container = event.data.container;
77		obj.setViewport( $container );
78		$container.trigger( 'resize.tribeEvents' );
79	};
80
81	/**
82	 * Unbind events for window resize
83	 *
84	 * @since 5.0.0
85	 *
86	 * @param {jQuery} $container jQuery object of view container
87	 *
88	 * @return {void}
89	 */
90	obj.unbindEvents = function( $container ) { // eslint-disable-line no-unused-vars
91		$window.off( 'resize', obj.handleResize );
92	};
93
94	/**
95	 * Bind events for window resize
96	 *
97	 * @since 4.9.7
98	 *
99	 * @param {jQuery} $container jQuery object of view container
100	 *
101	 * @return {void}
102	 */
103	obj.bindEvents = function( $container ) {
104		$window.on( 'resize', { container: $container }, obj.handleResize );
105	};
106
107	/**
108	 * Deinitialize viewport JS
109	 *
110	 * @since  5.0.0
111	 *
112	 * @param  {Event}       event    event object for 'beforeAjaxSuccess.tribeEvents' event
113	 * @param  {jqXHR}       jqXHR    Request object
114	 * @param  {PlainObject} settings Settings that this request was made with
115	 *
116	 * @return {void}
117	 */
118	obj.deinit = function( event, jqXHR, settings ) { // eslint-disable-line no-unused-vars
119		var $container = event.data.container;
120		obj.unbindEvents( $container );
121		$container.off( 'beforeAjaxSuccess.tribeEvents', obj.deinit );
122	};
123
124	/**
125	 * Initialize viewport JS
126	 *
127	 * @since  4.9.7
128	 *
129	 * @param  {Event}   event      event object for 'afterSetup.tribeEvents' event
130	 * @param  {integer} index      jQuery.each index param from 'afterSetup.tribeEvents' event
131	 * @param  {jQuery}  $container jQuery object of view container
132	 * @param  {object}  data       data object passed from 'afterSetup.tribeEvents' event
133	 *
134	 * @return {void}
135	 */
136	obj.init = function( event, index, $container, data ) { // eslint-disable-line no-unused-vars
137		obj.bindEvents( $container );
138		obj.setViewport( $container );
139		$container.on( 'beforeAjaxSuccess.tribeEvents', { container: $container }, obj.deinit );
140	};
141
142	/**
143	 * Handles the initialization of viewport when Document is ready
144	 *
145	 * @since 4.9.7
146	 *
147	 * @return {void}
148	 */
149	obj.ready = function() {
150		$document.on(
151			'afterSetup.tribeEvents',
152			tribe.events.views.manager.selectors.container,
153			obj.init
154		);
155	};
156
157	// Configure on document ready
158	$( obj.ready );
159} )( jQuery, tribe.events.views.viewport );

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.