Grande notícia,
Eu consertei.
Desculpas por perder sua essência no meu comentário inicial e dar uma resposta que você já havia implementado. Isso vai me ensinar a responder no meu telefone enquanto estiver em um trem!
Seu uso de ajaxstop está correto. Inferno o JS na maior parte está funcionando corretamente, você pode ver os estilos css sendo inicializados e as mudanças no DOM.
O problema está na verdade com o seu seletor.
Isso ocorre porque o conteúdo do widget não é carregado via ajax, na verdade, ele clona da coluna da esquerda, onde está oculto, e dispara uma chamada de ajax para salvar a posição do widget na coluna da direita. Isso explica por que ajaxstop funciona, mesmo que o conteúdo seja clonado. No entanto, como há uma versão oculta do widget na coluna à esquerda, seu JS está instanciando isso. Assim, quando você o arrasta para a coluna da direita, você está obtendo um clone mutilado do widget oculto.
Assim, você precisa selecionar o que está no lado esquerdo. Abaixo está o código corrigido:
<script>
jQuery( document ).ready( function( $ ) {
function runSelect() {
var found = $( '#widgets-right select.testselectize' );
found.each( function( index, value ) {
$( value ).selectize();
.removeClass( 'testselectize' )
.addClass( 'run-' + window.counter );
console.log( $val );
window.counter++;
} );
}
window.counter = 1;
runSelect();
$( document ).ajaxStop( function() {
runSelect();
} );
} );
</script>