Versão atual:

Modal de Confirmação ao enviar a solicitação

Solução para adicionar um modal de confirmação antes de ENVIAR/CANCELAR/TRANSFERIR/SALVAR da solicitação para próxima atividade:

$(document).ready(function () {
     // Função para lidar com o clique dos botões
     function handleClick(event, message, actionFunction) {
            event.preventDefault(); // Impede o comportamento padrão

            // Desabilita o botão para evitar múltiplos cliques
            var $button = $(event.currentTarget);
            $button.prop('disabled', true);

            // Mostrar o modal de confirmação
            showConfirmationModal(message, () => {
                // Chama a função de ação diretamente para evitar o duplo clique
                $button.prop('disabled', false); // Reabilita o botão
                actionFunction();
            }, () => {
                // Caso o usuário clique em "Não", reabilita o botão
                $button.prop('disabled', false);
            });
        }

        // Adiciona o listener para o botão ENVIAR - "data-send"
        parent.$('[data-send]').eq(0).on('click', function(event) {
            handleClick(event, 'VOCÊ TEM CERTEZA QUE DESEJA ENVIAR?', function() {
                parent.$('[data-send]').eq(0).off('click').trigger('click');
            });
        });

        // Adiciona o listener para o botão SALVAR - "data-save"
        parent.$('[data-save]').eq(0).on('click', function(event) {
            handleClick(event, 'VOCÊ TEM CERTEZA QUE DESEJA SALVAR ESSA SOLICITAÇÃO?', function() {
                parent.$('[data-save]').eq(0).off('click').trigger('click');
            });
        });

     // Adiciona o listener para o botão CANCELAR - "data-cancel-workflow-request"
        parent.$('[data-cancel-workflow-request]').eq(0).on('click', function(event) {
            handleClick(event, 'VOCÊ TEM CERTEZA QUE DESEJA CANCELAR ESSA SOLICITAÇÃO?', function() {
                parent.$('[data-cancel-workflow-request]').eq(0).off('click').trigger('click');
            });
        });

        // Adiciona o listener para o botão TRANSFERIR"data-transfer"
        parent.$('[data-transfer]').eq(0).on('click', function(event) {
            handleClick(event, 'VOCÊ TEM CERTEZA QUE DESEJA TRANSFERIR ESSA SOLICITAÇÃO?', function() {
                parent.$('[data-transfer]').eq(0).off('click').trigger('click');
            });
        });
});


// Função para mostrar o modal de confirmação
function showConfirmationModal(message, onConfirm, onCancel) {
    FLUIGC.message.confirm({
        message: message,
        title: 'Confirmação',
        size: 'large',
        labelYes: 'Sim',
        labelNo: 'Não'
    }, function(result) {
        if (result) {
            onConfirm();
        } else {
            onCancel();
        }
    });
}

Versões (2):

Ver a versão formatada

Modal de Confirmação ao enviar a solicitação

Comentário

new question