| Server IP : 3.93.235.159 / Your IP : 216.73.216.140 Web Server : Apache System : Linux ip-172-26-0-169 5.10.0-46-cloud-amd64 #1 SMP Debian 5.10.262-1 (2026-07-31) x86_64 User : bitnami ( 1000) PHP Version : 8.2.9 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/hello-plus/modules/forms/assets/js/editor/ |
Upload File : |
module.exports = function() {
var editor,
editedModel,
replyToControl;
var setReplyToControl = function() {
replyToControl = editor.collection.findWhere( { name: 'email_reply_to' } );
};
var getReplyToView = function() {
return editor.children.findByModelCid( replyToControl.cid );
};
var refreshReplyToElement = function() {
var replyToView = getReplyToView();
if ( replyToView ) {
replyToView.render();
}
};
var updateReplyToOptions = function() {
var settingsModel = editedModel.get( 'settings' ),
emailModels = settingsModel.get( 'form_fields' ).where( { field_type: 'email' } ),
emailFields;
emailModels = _.reject( emailModels, { field_label: '' } );
emailFields = _.map( emailModels, function( model ) {
return {
id: model.get( 'custom_id' ),
label: sprintf( '%s Field', model.get( 'field_label' ) ),
};
} );
replyToControl.set( 'options', { '': replyToControl.get( 'options' )[ '' ] } );
_.each( emailFields, function( emailField ) {
replyToControl.get( 'options' )[ emailField.id ] = emailField.label;
} );
refreshReplyToElement();
};
var updateDefaultReplyTo = function( settingsModel ) {
replyToControl.get( 'options' )[ '' ] = settingsModel.get( 'email_from' );
refreshReplyToElement();
};
var onFormFieldsChange = function( changedModel ) {
// If it's repeater field
if ( changedModel.get( 'custom_id' ) ) {
if ( 'email' === changedModel.get( 'field_type' ) ) {
updateReplyToOptions();
}
}
if ( changedModel.changed.email_from ) {
updateDefaultReplyTo( changedModel );
}
};
var onPanelShow = function( panel, model ) {
editor = panel.getCurrentPageView();
editedModel = model;
setReplyToControl();
var settingsModel = editedModel.get( 'settings' );
settingsModel.on( 'change', onFormFieldsChange );
updateDefaultReplyTo( settingsModel );
updateReplyToOptions();
};
var init = function() {
elementor.hooks.addAction( 'panel/open_editor/widget/form-lite', onPanelShow );
};
init();
};