Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Trocar confirm por Dialog

Pessoal boa tarde, se puderem me ajudar por favor, tenho esse método pronto usando confirmDialog, mas preciso colocar um textarea dentro desse dialog de bloquear, alguem pode me dar um help usando o Dialog ? Porque eu vi que no dialog eu tenho ele que dê pra colocar a caixa de texto Esssa imagem é a que eu tenho que precisa de um textarea abaixo )

  bloquear(tipoAcao: TipoAcao): void {
    this._confirmDialogService.confirm({
      message: 'Tem certeza que deseja bloquear esse item?',
      header: 'Atenção',
      icon: 'pi pi-exclamation-triangle',
      acceptButtonStyleClass: 'p-button-rounded no-icon',
      rejectButtonStyleClass: 'p-button-rounded no-icon',
      acceptLabel: 'Sim',
      rejectLabel: 'Não',
      accept: () => {
        // Update the state immediately
        tipoAcao.status = 'S';

        this._tipoAcaoService.bloquearTipoAcao(tipoAcao).subscribe({
          next: (response: any) => {
            this._toastService.showSuccess('', 'Item bloqueado com sucesso!');

          },
          error: (error: HttpErrorResponse) => {
            console.error(error);
            this._toastService.showError('', error.message);
            this.registrarAcao('Bloqueio', 'Bloqueado');
            // Revert the state in case of error
            tipoAcao.status = 'N';
          }
        });
      },
      reject: (type: any) => {
        switch(type) {
          case ConfirmEventType.REJECT:
            // this.messageService.add({severity:'error', summary:'Rejeitado', detail:'Você rejeitou'});
            break;
          case ConfirmEventType.CANCEL:
            // this.messageService.add({severity:'warn', summary:'Cancelado', detail:'Você cancelou'});
            break;
        }
      }
    });
  }
2 respostas
solução!

Oii Jaqueline. Tudo bem?

Fiquei com um pouco de dificuldade em te trazer uma resposta assertiva porque não tenho acesso ao projeto completo, mas observando seu código deduzi que esteja usando PrimeNG. Para adicionar a textarea ao dialog, é importante que você importe esse elemento no componente dialog em que ele será utilizado:

import { InputTextareaModule } from 'primeng/inputtextarea';

Depois você precisa adicionar a tag da textarea do PrimeNG ao template HTML onde seu dialog está estruturado, algo parecido com o que fiz à seguir:

    <p-toast />
    <p-confirmDialog>
        //detalhes do seu dialog
        <textarea 
            rows="5"
            cols="30" 
            pInputTextarea 
        >
    </textarea>
    </p-confirmDialog>
    <p-button (onClick)="confirm1($event)" label="Save" [outlined]="true" />
    <p-button (onClick)="confirm2($event)" label="Delete" severity="danger" [outlined]="true" />

Pra entender melhor como trabalhar com a textarea do PrimeNG, recomendo que utilize a Documentação oficial do componente. Além disso, também recomendo que na documentação, você utilize a aba de editor de código online para testar os exemplos de componente e se familiarizar com o uso. Você consegue acessar esses exemplos ao passar o cursor no canto superior direito de cada código de componente:

imagem apresentando como acessar ao editor stackblitz através da documentação do PrimeNG

Espero que minha resposta tenha te ajudado. Conte com o fórum caso tenha alguma dúvida. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Ola bom dia !! Obrigada de coração, mto grata, consegui resolver , tive que usar um "alias" no import para não dar conflito o confirmDialog com o Dialog.