SUEGESTÃO: Macro para expandir recolher um bloco

temos sc_block_display, mas nem sempre queremos esconder o bloco, apenas recolhê-lo.

seria bem vinda a macro: sc_block_collapse([expand || collect]);

Anda não consegui detectar internamente o código para realizar esse processo.

Dê sua opinião:
  • Interessante
  • Desnecessário

0 votantes

5 Curtidas

consegui expandir e recolher mas ainda não está 100%, pois preciso enviar ao SC valor a variável js que controla se esta expandido ou não e trocar o icone na linha do título do bloco:

image

2 Curtidas

Resolvido:

//Criar Método JavaScript: jsBloco(id, action)
var table = $('#'+id);
var block_img = $("#" + id + " .sc-ui-block-control");

if  (action == 'expand') {
    var display = '';
    var height = '100%';

    //Troca  icone para expandido
    if (block_img.length) block_img.attr("src", changeImgName(block_img.attr("src"), sc_blockCol));

    // informa ao SC que expandiu o bloco
    show_block[id] = true;
}else {
    var display = 'none';
    var height = '';

    //Troca  icone para recolhido
    if (block_img.length) block_img.attr("src", changeImgName(block_img.attr("src"), sc_blockExp));

     // informa ao SC que recolheu o bloco
     show_block[id] = false;
}

table.find('tr').next('tr').each(function() {
    $(this).css('display',display)
});

$(table).css('height',height);

//console.log(show_block, id);

acionando em um evento ou método php:

$bloco = 2;
sc_ajax_javascript("jsBloco",["hiden_bloco_{$bloco}",'expand']); //expande o bloco

//ou

sc_ajax_javascript("jsBloco",["hiden_bloco_{$bloco}",'collect']); //recolhe o bloco
4 Curtidas

Haroldo, obrigado por compartilhar a solução.
A NM poderia aproveitar e, como você sugeriu, criar um método para essa funcionalidade.

2 Curtidas

obrigado Haroldo pelo codigo.
Só um pequeno ajuste na hora de chamar a função:

sc_ajax_javascript(“jsBloco”,[“hidden_bloco_{$bloco}”,‘collect’]);

dois “d”