| Server IP : 213.186.33.4 / Your IP : 216.73.216.146 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www2/wp-content/plugins/glaza-core/lib/meta-box/js/ |
Upload File : |
/* global tinymce, quicktags */
jQuery( function ( $ ) {
'use strict';
/**
* Update date picker element
* Used for static & dynamic added elements (when clone)
*/
function update() {
var $this = $( this ),
$wrapper = $this.closest( '.wp-editor-wrap' ),
id = $this.attr( 'id' );
// Ignore existing editor.
if ( tinyMCEPreInit.mceInit[id] ) {
return;
}
// Get id of the original editor to get its tinyMCE and quick tags settings
var originalId = getOriginalId( $this );
if ( ! originalId ) {
return;
}
// Update the DOM
$this.show();
updateDom( $wrapper, id );
// TinyMCE
if ( tinyMCEPreInit.mceInit.hasOwnProperty( originalId ) ) {
var settings = tinyMCEPreInit.mceInit[originalId],
editor = new tinymce.Editor(id, settings, tinymce.EditorManager);
editor.render();
}
// Quick tags
if ( typeof quicktags === 'function' && tinyMCEPreInit.qtInit.hasOwnProperty( originalId ) ) {
var qtSettings = tinyMCEPreInit.qtInit[originalId];
qtSettings.id = id;
quicktags( qtSettings );
QTags._buttonsInit();
}
}
/**
* Get original ID of the textarea
* The ID will be used to reference to tinyMCE and quick tags settings
* @param $el Current cloned textarea
*/
function getOriginalId( $el ) {
var $clone = $el.closest( '.rwmb-clone' ),
currentId = $clone.find( '.rwmb-wysiwyg' ).attr( 'id' );
if ( /_\d+$/.test( currentId ) ) {
currentId = currentId.replace( /_\d+$/, '' );
}
if ( tinyMCEPreInit.mceInit.hasOwnProperty( currentId ) || tinyMCEPreInit.qtInit.hasOwnProperty( currentId ) ) {
return currentId;
}
return '';
}
/**
* Update id, class, [data-] attributes, ... of the cloned editor.
* @param $wrapper Editor wrapper element
* @param id Editor ID
*/
function updateDom( $wrapper, id ) {
// Wrapper div and media buttons
$wrapper.attr( 'id', 'wp-' + id + '-wrap' )
.removeClass( 'html-active' ).addClass( 'mce-active' ) // Active the visual mode by default
.find( '.mce-container' ).remove().end() // Remove rendered tinyMCE editor
.find( '.wp-editor-tools' ).attr( 'id', 'wp-' + id + '-editor-tools' )
.find( '.wp-media-buttons' ).attr( 'id', 'wp-' + id + '-media-buttons' )
.find( 'button' ).data( 'editor', id ).attr( 'data-editor', id );
// Editor tabs
$wrapper.find( '.switch-tmce' )
.attr( 'id', id + 'tmce' )
.data( 'wp-editor-id', id ).attr( 'data-wp-editor-id', id ).end()
.find( '.switch-html' )
.attr( 'id', id + 'html' )
.data( 'wp-editor-id', id ).attr( 'data-wp-editor-id', id );
// Quick tags
$wrapper.find( '.wp-editor-container' ).attr( 'id', 'wp-' + id + '-editor-container' )
.find( '.quicktags-toolbar' ).attr( 'id', 'qt_' + id + '_toolbar' ).html( '' );
}
$( '.rwmb-wysiwyg' ).each( update );
$( document ).on( 'clone', '.rwmb-wysiwyg', update );
} );