PageSourceSearch

https://malestripclub.com.au/brisbane/wp-content/plugins/gravityfo…/addon/js/gaddon_frontend.js?ver=2.6.7

js malestripclub.com.au collected 2026-10-08 17:13:12 UTC 6,082 bytes, 234 lines download raw bytes

1
2var GFFrontendFeeds = function( args ) {
3
4	var self = this,
5		$    = jQuery;
6
7	/**
8	 * Initialize Feed Ordering
9	 */
10	self.init = function() {
11
12		// Assign options to instance.
13		self.options = args;
14
15		self.triggerInputIds = self.getTriggerInputIds( self.options.feeds );
16
17		self.activeFeeds = [];
18
19		self.evaluateFeeds();
20
21		self.bindEvents();
22
23	};
24
25	self.bindEvents = function() {
26
27		gform.addAction( 'gform_input_change', function( elem, formId, inputId ) {
28
29			var fieldId = parseInt( inputId ) + '';
30			var isTriggeredInput = $.inArray( inputId, self.triggerInputIds ) !== -1 || $.inArray( fieldId , self.triggerInputIds ) !== -1 ;
31
32			if( self.options.formId == formId && isTriggeredInput ) {
33				self.evaluateFeeds();
34			}
35		} );
36
37	};
38
39	self.evaluateFeeds = function() {
40
41		var feed, isMatch, isActivated;
42
43		for( i = 0; i < self.options.feeds.length; i++ ) {
44
45			feed        = self.options.feeds[ i ];
46			isMatch     = self.evaluateFeed( feed, self.options.formId );
47			isActivated = self.isFeedActivated( feed );
48
49			if( ! isMatch && isActivated !== null ) {
50				self.deactivateFeed( feed );
51			} else if( isMatch && ! isActivated && ( ! feed.isSingleFeed || ( feed.isSingleFeed && self.hasPriority( feed.feedId, feed.addonSlug ) ) ) ) {
52				self.activateFeed( feed );
53			}
54
55		}
56
57		/**
58		 * Fires after the conditional logic on the form has been evaluated.
59		 *
60		 * @since 2.4
61		 *
62		 * @param array $feeds     A collection of feed objects.
63		 * @param int   $formId    The form id.
64		 */
65		gform.doAction( 'gform_frontend_feeds_evaluated', self.options.feeds, self.options.formId, self );
66		gform.doAction( 'gform_frontend_feeds_evaluated_{0}'.format( self.options.formId ), self.options.feeds, self.options.formId, self );
67		gform.doAction( 'gform_{0}_frontend_feeds_evaluated'.format( feed.addonSlug ), self.options.feeds, self.options.formId, self );
68		gform.doAction( 'gform_{0}_frontend_feeds_evaluated_{0}'.format( feed.addonSlug, self.options.formId ), self.options.feeds, self.options.formId, self );
69
70	};
71
72	self.evaluateFeed = function( feed, formId ) {
73
74		// Feeds with no configured conditional logic always a match.
75		if( ! feed.conditionalLogic ) {
76			return true;
77		}
78
79		return gf_get_field_action( formId, feed.conditionalLogic ) == 'show';
80	};
81
82	self.getTriggerInputIds = function() {
83		var inputIds = [];
84		for( var i = 0; i < self.options.feeds.length; i++ ) {
85
86			var feed = self.options.feeds[ i ];
87
88			if( ! feed.conditionalLogic ) {
89				continue;
90			}
91
92			for( var j = 0; j < feed.conditionalLogic.rules.length; j++ ) {
93				var rule = self.options.feeds[i].conditionalLogic.rules[j];
94				if( $.inArray( rule.fieldId, inputIds ) == -1 ) {
95					inputIds.push( rule.fieldId );
96				}
97			}
98
99		}
100		return inputIds;
101	};
102
103	self.isFeedActivated = function( feed ) {
104
105		if( typeof feed != 'object' ) {
106			feed = self.getFeed( feed );
107			if( ! feed ) {
108				return false;
109			}
110		}
111
112		return typeof feed.isActivated != 'undefined' ? feed.isActivated : null;
113	};
114
115	self.getFeed = function( feedId ) {
116		for( var i = 0; i < self.options.feeds.length; i++ ) {
117			var feed = self.options.feeds[ i ];
118			if( feed.feedId == feedId ) {
119				return feed;
120			}
121		}
122		return false;
123	};
124
125	self.getFeedsByAddon = function( addonSlug, currentFeed, onlyActive ) {
126		var feeds = [];
127		for( var i = 0; i < self.options.feeds.length; i++ ) {
128			var feed = self.options.feeds[ i ];
129			if( feed.addonSlug == addonSlug
130				&& ! ( currentFeed && feed.feedId == currentFeed.feedId )
131			) {
132				if( onlyActive ) {
133					if( self.isFeedActivated( feed ) ) {
134						feeds.push( feed );
135					}
136				} else {
137					feeds.push( feed );
138				}
139
140			}
141		}
142		return feeds;
143	};
144
145	self.activateFeed = function( feeds ) {
146
147		if( feeds.feedId ) {
148			feeds = [ feeds ];
149		}
150
151		for( var i = 0; i < feeds.length; i++ ) {
152
153			var feed = feeds[ i ];
154
155			feed.isActivated = true;
156
157			/**
158			 * Fires after the conditional logic on the form has been evaluated and the feed has been found to be active.
159			 *
160			 * @since 2.4
161			 *
162			 * @param array $feeds     A collection of feed objects.
163			 * @param int   $formId    The form id.
164			 */
165
166			gform.doAction( 'gform_frontend_feed_activated', feed, self.options.formId );
167			gform.doAction( 'gform_frontend_feed_activated_{0}'.format( self.options.formId ), feed, self.options.formId );
168			gform.doAction( 'gform_{0}_frontend_feed_activated'.format( feed.addonSlug ), feed, self.options.formId );
169			gform.doAction( 'gform_{0}_frontend_feed_activated_{0}'.format( feed.addonSlug, self.options.formId ), feed, self.options.formId );
170
171			if( feed.isSingleFeed ) {
172				self.deactivateFeed( self.getFeedsByAddon( feed.addonSlug, feed ) );
173			}
174
175		}
176
177	};
178
179	self.deactivateFeed = function( feeds ) {
180
181		if( feeds.feedId ) {
182			feeds = [ feeds ];
183		}
184
185		for( var i = 0; i < feeds.length; i++ ) {
186
187			var feed        = feeds[ i ],
188				isActivated = self.isFeedActivated( feed );
189
190			if( isActivated === null || isActivated === false ) {
191				continue;
192			}
193
194			feed.isActivated = false;
195
196			/**
197			 * Fires after the conditional logic on the form has been evaluated and the feed has become inactive.
198			 *
199			 * @since 2.4
200			 *
201			 * @param array $feeds     A collection of feed objects.
202			 * @param int   $formId    The form id.
203			 */
204			gform.doAction( 'gform_frontend_feed_deactivated', feed, self.options.formId );
205			gform.doAction( 'gform_frontend_feed_deactivated_{0}'.format( self.options.formId ), feed, self.options.formId );
206			gform.doAction( 'gform_{0}_frontend_feed_deactivated'.format( feed.addonSlug ), feed, self.options.formId );
207			gform.doAction( 'gform_{0}_frontend_feed_deactivated_{0}'.format( feed.addonSlug, self.options.formId ), feed, self.options.formId );
208
209		}
210
211	};
212
213	self.hasPriority = function( feedId, addonSlug ) {
214
215		var addonFeeds = self.getFeedsByAddon( addonSlug );
216
217		for( var i = 0; i <= addonFeeds.length; i++ ) {
218
219			var feed = addonFeeds[i];
220
221			if( feed.feedId != feedId && feed.isActivated ) {
222				return false;
223			} else if ( feed.feedId == feedId ) {
224				return true;
225			}
226
227		}
228
229		return false;
230	};
231
232	this.init();
233
234};

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.