at path:
ROOT
/
wp-content
/
plugins
/
if-so
/
admin
/
js
/
helpers.js
run:
R
W
Run
resources
DIR
2026-06-16 01:07:17
R
W
Run
bootstrap.min.js
36.46 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
helpers.js
2.36 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
if-so-admin-triggerpage.js
34.82 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
if-so-admin.js
2.68 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
if-so-google-places.js
23.84 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
jquery-ui-old.min.js
234.79 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
jquery-ui.min.js
249.1 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
jquery.easy-autocomplete.min.js
33.83 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
jquery.ifsodatetimepicker.full.min.js
56.5 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
jquery.weekly-schedule-plugin.min.js
10.82 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
modal.js
6.32 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
repeater.js
10.33 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
shortcode-generator.js
7.17 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
validator.min.js
7.55 KB
2026-06-16 01:07:17
R
W
Run
Delete
Rename
error_log
up
📄
helpers.js
Save
/** * Get the closest matching element up the DOM tree. * @private * @param {Element} elem Starting element * @param {String} selector Selector to match against * @return {Boolean|Element} Returns null if not match found */ var getClosest = function ( elem, selector ) { // Element.matches() polyfill if (!Element.prototype.matches) { Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function(s) { var matches = (this.document || this.ownerDocument).querySelectorAll(s), i = matches.length; while (--i >= 0 && matches.item(i) !== this) {} return i > -1; }; } // Get closest match for ( ; elem && elem !== document; elem = elem.parentNode ) { if ( elem.matches( selector ) ) return elem; } return null; }; /** * Get all of an element's parent elements up the DOM tree * @param {Node} elem The element * @param {String} selector Selector to match against [optional] * @return {Array} The parent elements */ var getParents = function ( elem, selector ) { // Element.matches() polyfill if (!Element.prototype.matches) { Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function(s) { var matches = (this.document || this.ownerDocument).querySelectorAll(s), i = matches.length; while (--i >= 0 && matches.item(i) !== this) {} return i > -1; }; } // Setup parents array var parents = []; // Get matching parent elements for ( ; elem && elem !== document; elem = elem.parentNode ) { // Add matching parents to array if ( selector ) { if ( elem.matches( selector ) ) { parents.push( elem ); } } else { parents.push( elem ); } } return parents; };