var $um_tiny_editor = {}; function um_admin_live_update_scripts() { jQuery('.um-adm-conditional').each( function() { jQuery(this).trigger('change'); }); if ( jQuery('.um-admin-colorpicker').length ) { jQuery('.um-admin-colorpicker').wpColorPicker(); } } function um_admin_new_modal( id, ajax, size ) { var modal = jQuery('body').find('.um-admin-overlay'); UM.common.tipsy.hide(); um_admin_remove_modal(); jQuery('body').addClass('um-admin-modal-open').append('
'); jQuery('#' + id).prependTo('.um-admin-modal'); jQuery('#' + id).show(); jQuery('.um-admin-modal').show(); jQuery('.um-admin-modal-head').append(''); if ( ajax == true ) { um_admin_modal_size( size ); um_admin_modal_preload(); um_admin_modal_responsive(); } else { um_admin_modal_responsive(); } } function um_tinymce_init( id, content ) { var object = jQuery('#' + id); if ( typeof( tinyMCE ) === 'object' && tinyMCE.get( id ) !== null ) { tinyMCE.triggerSave(); tinyMCE.EditorManager.execCommand( 'mceRemoveEditor', true, id ); "4" === tinyMCE.majorVersion ? window.tinyMCE.execCommand( "mceRemoveEditor", !0, id ) : window.tinyMCE.execCommand( "mceRemoveControl", !0, id ); $um_tiny_editor = jQuery('
').append( object.parents( '#wp-' + id + '-wrap' ).clone() ); object.parents('#wp-' + id + '-wrap').replaceWith('
'); jQuery('.um-admin-editor:visible').html( jQuery( $um_tiny_editor ).html() ); var init; if( typeof tinyMCEPreInit.mceInit[ id ] == 'undefined' ){ init = tinyMCEPreInit.mceInit[ id ] = tinyMCE.extend( {}, tinyMCEPreInit.mceInit[ id ] ); } else { init = tinyMCEPreInit.mceInit[ id ]; } if ( typeof(QTags) == 'function' ) { QTags( tinyMCEPreInit.qtInit[ id ] ); QTags._buttonsInit(); } if ( typeof( window.switchEditors ) === 'object' ) { window.switchEditors.go( id ); } tinyMCE.init( init ); tinyMCE.get( id ).setContent( content ); object.html( content ); } else { $um_tiny_editor = jQuery('
').append( object.parents('#wp-' + id + '-wrap').clone() ); object.parents('#wp-' + id + '-wrap').replaceWith('
'); jQuery('.um-admin-editor:visible').html( jQuery( $um_tiny_editor ).html() ); if ( typeof(QTags) == 'function' ) { QTags( tinyMCEPreInit.qtInit[ id ] ); QTags._buttonsInit(); } //use duplicate because it's new element jQuery('#' + id).html( content ); } jQuery( 'body' ).on( 'click', '.wp-switch-editor', function() { var target = jQuery(this); if ( target.hasClass( 'wp-switch-editor' ) && typeof( window.switchEditors ) === 'object' ) { var mode = target.hasClass( 'switch-tmce' ) ? 'tmce' : 'html'; window.switchEditors.go( id, mode ); } }); } function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) { in_row = ''; in_sub_row = ''; in_column = ''; in_group = ''; if ( jQuery('.um-col-demon-settings').data('in_column') ) { in_row = jQuery('.um-col-demon-settings').data('in_row'); in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row'); in_column = jQuery('.um-col-demon-settings').data('in_column'); in_group = jQuery('.um-col-demon-settings').data('in_group'); } var form_mode = jQuery('input[type=hidden][id=form__um_mode]').val(); jQuery.ajax({ url: wp.ajax.settings.url, type: 'POST', data: { action:'um_dynamic_modal_content', act_id: act_id, arg1 : arg1, arg2 : arg2, arg3: arg3, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group, nonce: um_admin_scripts.nonce, form_mode: form_mode }, complete: function(){ um_admin_modal_loaded(); um_admin_modal_responsive(); }, success: function(data) { jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data ); // Make responsive script only when live preview, if ( jQuery('.um-admin-modal').find('.um-admin-modal-body').find('.um').length ) { um_responsive(); } um_admin_live_update_scripts(); jQuery( "#_custom_dropdown_options_source" ).trigger('blur'); if ( jQuery('.um-admin-editor:visible').length > 0 ) { if ( act_id == 'um_admin_edit_field_popup' ) { um_tinymce_init( 'um_editor_edit', jQuery('.um-admin-modal:visible .dynamic-mce-content').html() ); } else { um_tinymce_init( 'um_editor_new', '' ); } } if ( act_id === 'um_admin_preview_form' ) { //fix for overlay in scrollable preview modal jQuery('.um-admin-preview-overlay').css('height', jQuery('.um-admin-preview-overlay').siblings('.um').outerHeight(true)*1 + 20 + 'px' ); } UM.admin.tooltip.init(); UM.admin.datetimePicker.init(); }, error: function(data) { } }); return false; } function um_admin_modal_responsive() { var required_margin = jQuery('.um-admin-modal:visible').innerHeight() / 2 + 'px'; jQuery('.um-admin-modal:visible').css({'margin-top': '-' + required_margin }); if ( jQuery('#UM_preview_form .um-s1').length ) { jQuery("#UM_preview_form .um-s1").select2({ allowClear: true }); } if ( jQuery('#UM_preview_form .um-s2').length ) { jQuery("#UM_preview_form .um-s2").select2({ allowClear: false, minimumResultsForSearch: 10 }); } } function um_admin_remove_modal() { if ( jQuery('.um-admin-editor:visible').length > 0 ) { tinyMCE.triggerSave(); if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) { jQuery('#wp-um_editor_edit-wrap').remove(); /*tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit'); jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() ); tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');*/ } else { jQuery('#wp-um_editor_new-wrap').remove(); /*tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new'); jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() ); tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');*/ } jQuery('.um_tiny_placeholder').replaceWith( jQuery( $um_tiny_editor ).html() ); } UM.admin.tooltip.close(); UM.common.tipsy.hide(); jQuery('body').removeClass('um-admin-modal-open'); jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body'); jQuery('.um-admin-modal,.um-admin-overlay').remove(); } function um_admin_modal_preload() { jQuery('.um-admin-modal:visible').addClass('loading'); jQuery('.um-admin-modal-body:visible').empty(); } function um_admin_modal_loaded() { jQuery('.um-admin-modal:visible').removeClass('loading'); } function um_admin_modal_size( aclass ) { jQuery('.um-admin-modal:visible').addClass(aclass); } function um_admin_modal_add_attr( id, value ) { jQuery('.um-admin-modal:visible').data( id, value ); } /** Custom modal scripting starts **/ jQuery(document).ready(function() { /** remove modal via action **/ jQuery(document.body).on('click', '.um-admin-overlay, a[data-action="UM_remove_modal"]', function(){ UM.common.tipsy.hide(); um_admin_remove_modal(); }); /** fire new modal **/ jQuery(document.body).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){ e.preventDefault(); var modal_id = jQuery(this).attr('data-modal'); if ( jQuery(this).attr('data-back') ) { jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-modal", jQuery(this).attr('data-back') ); var current_icon = jQuery( '#' + jQuery(this).attr('data-back') ).find('input#_icon').val(); if ( current_icon == '' ) { jQuery('#UM_fonticons').find('.um-admin-icons span').removeClass('highlighted'); } } if ( jQuery(this).data('dynamic-content') ) { um_admin_new_modal( modal_id, true, jQuery(this).data('modal-size') ); um_admin_modal_ajaxcall( jQuery(this).data('dynamic-content'), jQuery(this).data('arg1'), jQuery(this).data('arg2'), jQuery(this).data('arg3') ); } else { um_admin_new_modal( modal_id ); } return false; }); /** submit font icon **/ jQuery(document.body).on('click', '#UM_fonticons a.um-admin-modal-back:not(.um-admin-modal-cancel)', function(){ var v_id = ''; var icon_selected = jQuery(this).attr('data-code'); if ( icon_selected != '' ) { if ( jQuery(this).attr('data-modal') ) { v_id = '#' + jQuery(this).attr('data-modal'); } else { v_id = '.postbox'; } jQuery( v_id ).find('input#_icon,input#_um_icon,input#notice__um_icon,input#um_profile_tab__icon').val( icon_selected ); jQuery( v_id ).find('span.um-admin-icon-value').html(''); jQuery( v_id ).find('.um-admin-icon-clear').show(); } jQuery(this).attr('data-code', ''); if ( v_id == '.postbox' ) { UM.common.tipsy.hide(); um_admin_remove_modal(); } }); /** restore font icon **/ jQuery(document.body).on('click', 'span.um-admin-icon-clear', function(){ var element = jQuery(this).parents('p'); jQuery('#UM_fonticons a.um-admin-modal-back').attr('data-code', ''); element.find('input[type="hidden"]').val(''); element.find('.um-admin-icon-value').html( wp.i18n.__( 'No Icon', 'ultimate-member' ) ); element = jQuery(this).parents('td'); element.find('input[type="hidden"]').val(''); element.find('.um-admin-icon-value').html( wp.i18n.__( 'No Icon', 'ultimate-member' ) ); jQuery(this).hide(); }); /** search font icons **/ jQuery(document.body).on('keyup blur', '#_icon_search', function(){ if ( jQuery(this).val().toLowerCase() !== '' ) { jQuery('.um-admin-icons span').hide(); jQuery('.um-admin-icons span[data-code*="'+jQuery(this).val().toLowerCase()+'"]').show(); } else { jQuery('.um-admin-icons span:hidden').show(); } um_admin_modal_responsive(); }); }); // end jQuery(document).ready