| Server IP : 65.108.144.40 / Your IP : 216.73.217.165 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ubuntu-8gb-hel1-1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64 User : dev ( 1000) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/pia/wp-content/plugins/leadin/scripts/entries/ |
Upload File : |
import elementorWidget from '../elementor/elementorWidget';
import registerFormWidget from '../elementor/FormWidget/registerFormWidget';
import { initBackgroundApp } from '../utils/backgroundAppUtils';
import registerMeetingsWidget from '../elementor/MeetingWidget/registerMeetingWidget';
const ELEMENTOR_READY_INTERVAL = 500;
const MAX_POLL_TIMEOUT = 30000;
const registerElementorWidgets = () => {
initBackgroundApp(() => {
let FormWidget: any;
let MeetingsWidget: any;
const leadinSelectFormItemView = elementorWidget(
//@ts-expect-error global
window.elementor,
{
widgetName: 'hubspot-form',
controlSelector: '.elementor-hbspt-form-selector',
containerSelector: '.hubspot-form-edit-mode',
},
(controlContainer: any, widgetContainer: any, setValue: Function) => {
FormWidget = new registerFormWidget(
controlContainer,
widgetContainer,
setValue
);
FormWidget.render();
},
() => {
FormWidget.done();
}
);
const leadinSelectMeetingItemView = elementorWidget(
//@ts-expect-error global
window.elementor,
{
widgetName: 'hubspot-meeting',
controlSelector: '.elementor-hbspt-meeting-selector',
containerSelector: '.hubspot-meeting-edit-mode',
},
(controlContainer: any, widgetContainer: any, setValue: Function) => {
MeetingsWidget = new registerMeetingsWidget(
controlContainer,
widgetContainer,
setValue
);
MeetingsWidget.render();
},
() => {
MeetingsWidget.done();
}
);
//@ts-expect-error global
window.elementor.addControlView(
'leadinformselect',
leadinSelectFormItemView
);
//@ts-expect-error global
window.elementor.addControlView(
'leadinmeetingselect',
leadinSelectMeetingItemView
);
});
};
const pollForElementorReady = setInterval(() => {
const elementorFrontend = (window as any).elementorFrontend;
if (elementorFrontend) {
registerElementorWidgets();
clearInterval(pollForElementorReady);
}
}, ELEMENTOR_READY_INTERVAL);
setTimeout(() => {
clearInterval(pollForElementorReady);
}, MAX_POLL_TIMEOUT);