upskill-event-manager/assets/js/payment.js
Ben Reed cdc5ea85f4 feat: Add comprehensive CSS, JavaScript and theme asset infrastructure
Add massive collection of CSS, JavaScript and theme assets that were previously excluded:

**CSS Files (681 total):**
- HVAC plugin-specific styles (hvac-*.css): 34 files including dashboard, certificates, registration, mobile nav, accessibility fixes, animations, and welcome popup
- Theme framework files (Astra, builder systems, layouts): 200+ files
- Plugin compatibility styles (WooCommerce, WPForms, Elementor, Contact Form 7): 150+ files
- WordPress core and editor styles: 50+ files
- Responsive and RTL language support: 200+ files

**JavaScript Files (400+ total):**
- HVAC plugin functionality (hvac-*.js): 27 files including menu systems, dashboard enhancements, profile sharing, mobile responsive features, accessibility, and animations
- Framework and library files: jQuery plugins, GSAP, AOS, Swiper, Chart.js, Lottie, Isotope
- Plugin compatibility scripts: WPForms, WooCommerce, Elementor, Contact Form 7, LifterLMS
- WordPress core functionality: customizer, admin, block editor compatibility
- Third-party integrations: Stripe, SMTP, analytics, search functionality

**Assets:**
- Certificate background images and logos
- Comprehensive theme styling infrastructure
- Mobile-responsive design systems
- Cross-browser compatibility assets
- Performance-optimized minified versions

**Updated .gitignore:**
- Fixed asset directory whitelisting patterns to properly include CSS/JS/images
- Added proper directory structure recognition (!/assets/css/, !/assets/js/, etc.)
- Maintains security by excluding sensitive files while including essential assets

This commit provides the complete frontend infrastructure needed for:
- Full theme functionality and styling
- Plugin feature implementations
- Mobile responsiveness and accessibility
- Cross-browser compatibility
- Performance optimization
- Developer workflow support
2025-08-11 16:20:31 -03:00

133 lines
2.3 KiB
JavaScript

/* eslint-disable camelcase */
/* global ajaxurl, wpforms_education_pointers_payment */
// noinspection ES6ConvertVarToLetConst
/**
* Module for handling education pointers related to payments in WPForms.
*
* @since 1.8.8
*/
// eslint-disable-next-line no-var
var WPFormsPointersPayment = window.WPFormsPointersPayment || ( function( document, window, $, l10n ) {
/**
* Elements holder.
*
* @since 1.8.8
*
* @type {Object}
*/
const el = {};
/**
* Runtime variables.
*
* @since 1.8.8
*
* @type {Object}
*/
const vars = {
/**
* Unique ID for the pointer.
*
* @since 1.8.8
*/
pointerId: l10n.pointer,
/**
* Cryptographic token for validating authorized Ajax data exchange.
*
* @since 1.8.8
*/
nonce: l10n.nonce,
};
/**
* Public functions and properties.
*
* @since 1.8.8
*/
const app = {
/**
* Start the engine.
*
* @since 1.8.8
*/
init() {
$( app.ready );
},
/**
* Document ready.
*
* @since 1.8.8
*/
ready() {
app.setup();
app.bindEvents();
},
/**
* Setup. Prepare some variables.
*
* @since 1.8.8
*/
setup() {
// Cache DOM elements.
el.$document = $( document );
},
/**
* Bind events.
*
* @since 1.8.8
*/
bindEvents() {
el.$document.on( 'click', '#toplevel_page_wpforms-overview [href$="-payments"], #wpforms-education-pointers-payments', app.handleOnClick );
},
/**
* Callback for clicking on the action link.
*
* @since 1.8.8
*
* @param {Object} event An event which takes place in the DOM.
*/
handleOnClick( event ) {
// Prevent the default action.
event.preventDefault();
const $this = $( this );
// Get the href attribute.
const href = $this.attr( 'href' );
// Return early if href is missing.
if ( ! href ) {
return;
}
// Hide the pointer before redirecting.
$this.closest( '.wp-pointer-content' ).parent().hide();
// Send AJAX request.
$.post(
ajaxurl,
{
pointer_id: vars.pointerId,
_ajax_nonce: vars.nonce,
action: 'wpforms_education_pointers_engagement',
}
).done( function() {
window.location.href = href;
} );
},
};
// Provide access to public functions/properties.
return app;
}( document, window, jQuery, wpforms_education_pointers_payment ) );
// Initialize.
WPFormsPointersPayment.init();