Skip to content

QasDialog: mudanças gerais.#1432

Merged
DouglasCalora merged 47 commits intodevelopfrom
feature/dialog-changes
Apr 16, 2026
Merged

QasDialog: mudanças gerais.#1432
DouglasCalora merged 47 commits intodevelopfrom
feature/dialog-changes

Conversation

@DouglasCalora
Copy link
Copy Markdown
Collaborator

@DouglasCalora DouglasCalora commented Nov 18, 2025

closes #1346
closes #1360
closes #1121

Não publicado

BREAKING CHANGES

  • Componentes/Plugins que usam dialog:
    • QasBoardGenerator -> prop confirmDialogProps.
    • QasGallery -> prop dialogProps.
    • QasDelete -> prop dialogProps.
    • QasSelectListDialog -> prop dialogProps.
    • QasSignatureUploader -> prop dialogProps.
    • QasTextTruncate -> prop dialogProps.
    • QasUploader -> prop dialogProps.
    • QasDrawer -> prop dialogProps (prop persistent saiu do dialogProps e agora é passado diretamente para o QasDrawer).
    • Delete.js -> config dialogProps.
  • QasDialog:
    • removido prop card em favor de usar as props title e description.
    • removido slot actions em favor de fazer os controles somente por ok, cancel e tertiary.
    • removido prop persistent, agora é feito sempre de forma automática.
    • removido prop actionsProps.
    • removido props useFullMaxWidth, maxWidth, minWidth em favor de utilizar a prop size.
    • agora todos dialogs tem a propriedade title sendo obrigatória.
    • Recomendação: Lugares que usam a prop useForm sem ter formulário só para desativar o auto close no botão ok modificar pela prop useAutoCloseOnOk.
  • QasBoardGenerator:
    • necessário passar a prop useConfirmDialog caso queria dialog de confirmação.
    • necessário repassar title na propriedade confirmDialogProps pois é obrigatória no QasDialog caso esteja usando a prop useConfirmDialog.
  • QasDrawer: adicionado propriedade persistent para não utilizar dentro de dialogProps

Adicionado

  • QasDialog/Dialog.js:
    • adicionado propriedade size com default sm.
    • adicionado propriedades title com required: true e description para ser usado no lugar da prop card.
    • adicionada propriedade disableCloseButton para desabilitar botão de fechar (x).
    • adicionada propriedade tertiary.
    • adicionada propriedade useAutoCloseOnOk e useAutoCloseOnCancel (#1360)(#1121)
    • adicionada propriedade useCloseButton para remover botão de fechar (x).
    • adicionada propriedade useHtmlDescription.
  • QasDrawer: adicionado propriedade persistent para não utilizar dentro de dialogProps.
  • QasBoardGenerator: adicionado nova propriedade use-confirm-dialog para controlar quando vai ter ou não o dialog de confirmação.

Modificado

  • QasDialog/Dialog.js:
    • mudanças gerais do dialog (#1346).
    • removido uso de composable em arquivos separados para centralizar tudo no arquivo vue.
  • QasHeader: modificado propriedade badges para aceitar objeto quando tiver apenas 1 badge.
  • QasSignatureUploader: Modificado label e tamanho do dialog.
  • Normalização dos dialogs:
    • QasSignatureUploader.
    • QasTreeGenerator.
    • QasTextTruncate.
    • QasSelectListDialog.
    • QasFormView.
    • QasGallery -> PvGalleryCarouselDialog.
    • composables/use-delete.js
    • QasDrawer.

Removido

  • QasDialog/Dialog.js:
    • removido prop card em favor de usar as props title e description.
    • removido slot actions em favor de fazer os controles somente por ok, cancel e tertiary.
    • removido prop persistent, agora é feito sempre de forma automática.
    • removido prop actionsProps.
    • removido props useFullMaxWidth, maxWidth, minWidth em favor de utilizar a prop size.

Versão do asteroid

  • v2 -> a partir da branch v2.
  • v3-beta.x -> a partir da branch develop.
  • v3-stable -> a partir da branch main.

Tipo de alteração

  • Adicionado | Added (novos componentes e/ou funcionalidades);
  • Modificado | Changed (alterações que podem ou não conter breaking changes);
  • Corrigido | Fixed (correção de bugs, typos, etc);
  • Removido | removed (remoção de algum componente e/ou funcionalidade).

O que foi alterado/adicionado

  • CSS
  • Componentes
  • Composables (v3)
  • Diretivas
  • Documentação
  • Helpers
  • Mixins
  • Paginas
  • Plugins
  • Testes
  • Outros

Este pull request introduz algum breaking change?

  • Sim
  • Não

Checklist

  • Foi discutida anteriormente com os times de Frontend e Design;
  • Foi testado manualmente no ambiente de desenvolvimento (/docs se v3 ou ui/dev se v2);
  • Foi constatado que esta modificação não gerou erros ou alertas no Console;
  • Foi verificado se o código segue os padrões de escrita e validado com o ESLint;
  • Foi escrito teste automatizado;
  • Foi atualizada e testada a documentação;
  • Foi atualizado o changelog seguindo o padrão "Keep a Changelog";
  • Fiz meu próprio code review antes de abrir este pull request.

refactor: clean up dialog examples by removing unnecessary properties and restructuring dialogProps

feat: add support for HTML descriptions in QasDialog

feat: introduce tertiary button functionality in QasDialog

fix: enhance QasDrawer component to support persistent prop and improve dialog integration

docs: update dialog documentation with new size options and example usage
…ity and consistency; remove unused QasFormDialog component
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Nov 18, 2025

Deploying asteroid with  Cloudflare Pages  Cloudflare Pages

Latest commit: 21ff54d
Status: ✅  Deploy successful!
Preview URL: https://70e07c79.asteroid-akr.pages.dev
Branch Preview URL: https://feature-dialog-changes.asteroid-akr.pages.dev

View logs

Comment thread docs/src/examples/QasDialog/ExDialogCancelAndOk.vue
Comment thread ui/src/components/dialog/QasDialog.yml Outdated
actions:
desc: Slot para ações (botões por exemplo).
tertiary:
desc: Props para o botão terciário
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seria bom explicar que o botão terciário só vai ter quando ter essa prop.

Props para o botão terciário, onde só terá o botão caso passe essa prop

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isto fica redundante.


<template #description>
<div :style="signaturePadWidth">
<div>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

precisa da div?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sim, pra englobar os 2.

Comment thread CHANGELOG.md Outdated
- QasTextTruncate -> prop `dialogProps`.
- QasUploader -> prop `dialogProps`.
- QasDrawer -> prop `dialogProps` (prop `persistent` saiu do `dialogProps` e agora é passado diretamente para o QasDrawer).
- `QasDrawer`: adicionado propriedade `persistent` para não utilizar dentro de `dialogProps`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isso seria realmente um breaking change do drawer? faz sentido estar aqui?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sim porque muda como usa.

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread docs/src/examples/QasDialog/DialogWithTertiary.vue
return {
label: 'Cancelar',
outline: true,
'data-cy': 'dialog-cancel-btn',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qual a necessidade do data agr?? ja comecei os testes?

Comment on lines +50 to +52
persistent: false,
cancel: false,
ok: false,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ja nao tem cancel e nem ok, pela regra comentada ate na doc, o persistent ja seria false, nao??

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sim, estava atoa.

}, 2000)
}
}
setTimeout(() => {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pq o timeout?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

simula loading

Comment thread scripts/setup-links.js
Comment on lines +23 to +26
ensureLink('.agents', '.agent')
ensureLink('.agents', '.claude')

module.exports = ensureLink
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oq é isso?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

faz o setup dos "agents" de ia para o asteroid

Comment thread scripts/setup-links.js
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nao entendi esse script, pra que serve?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tem a explicação acima.

Comment thread CHANGELOG.md Outdated
Comment thread ui/src/components/dialog/QasDialog.vue Outdated
Comment thread ui/src/components/dialog/QasDialog.vue
Comment thread ui/src/components/dialog/QasDialog.vue Outdated
Comment thread ui/src/components/dialog/QasDialog.vue Outdated
Comment thread ui/src/plugins/delete/Delete.js Outdated
Comment thread .gitignore
Comment on lines +4 to +5
.agent
.claude
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quais arquivos sao esses?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agents LLM, melhor explicar isto em call.

Comment thread CHANGELOG.md Outdated
Comment thread package.json
"setup:ui": "cd ui && npm i && cd ..",
"prepare": "husky install"
"prepare": "husky install",
"setup:agent-links": "node scripts/setup-links.js"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pra que serve esse comando?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

explicação acima

Comment thread scripts/setup-links.js
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Serve para configurar os links simbolicos para skills de agentes LLMs como copilot, claude...

}, 2000)
}
}
setTimeout(() => {
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

simula loading

Comment thread scripts/setup-links.js
Comment on lines +23 to +26
ensureLink('.agents', '.agent')
ensureLink('.agents', '.claude')

module.exports = ensureLink
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

faz o setup dos "agents" de ia para o asteroid

Comment thread scripts/setup-links.js
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tem a explicação acima.

Comment thread ui/src/plugins/delete/Delete.js Outdated
Comment thread .gitignore
Comment on lines +4 to +5
.agent
.claude
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agents LLM, melhor explicar isto em call.

Comment thread package.json
"setup:ui": "cd ui && npm i && cd ..",
"prepare": "husky install"
"prepare": "husky install",
"setup:agent-links": "node scripts/setup-links.js"
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

explicação acima

actions:
desc: Slot para ações (botões por exemplo).
tertiary:
desc: Props para o botão terciário
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isto fica redundante.


<template #description>
<div :style="signaturePadWidth">
<div>
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sim, pra englobar os 2.

@DouglasCalora DouglasCalora merged commit d828791 into develop Apr 16, 2026
1 check passed
@DouglasCalora DouglasCalora deleted the feature/dialog-changes branch April 16, 2026 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants