-
Notifications
You must be signed in to change notification settings - Fork 0
Lightning Web Components
Matheus Freitas edited this page Jul 30, 2025
·
22 revisions
Esta seção documenta os componentes LWC personalizados desenvolvidos para o projeto System HelpDesk. Cada componente possui uma função específica dentro do ciclo de atendimento de chamados (Cases) no sistema.
Exibe visualmente o tempo restante de SLA de um chamado por meio de uma barra de progresso dinâmica.
-
Barra de progresso com cores dinâmicas conforme o percentual restante:
- 🟢 Verde: SLA dentro do prazo.
- 🟡 Amarelo: SLA próximo do vencimento.
- 🔴 Vermelho: SLA vencido.
- Atualização dinâmica do SLA ao iniciar, pausar ou retomar o atendimento.
| Propriedade | Tipo | Descrição |
|---|---|---|
recordId |
String |
Id do registro de Case utilizado no LWC |
| Estado Inicial | Ação | Novo Estado | Botão Exibido |
|---|---|---|---|
| check = false | Iniciar atendimento | check = true | Pause SLA |
| pause = false | Pausar atendimento | pause = true | Resume Service |
| pause = true | Retomar atendimento | pause = false | Pause SLA |
- O componente depende dos campos personalizados Sla__c, StartService__c, Pause__c, DatePause__c, DateUnpause__c.
- Não há cache de dados, todas as interações disparam leitura e escrita em tempo real.
- A atualização do SLA exige que o usuário tenha permissão para editar o registro Case.
@wire(getRecord, { recordId: '$recordId', fields: [...] }){}Permite que os usuários criem novos registros de chamados (Case) diretamente pela interface do Salesforce, com campos customizados e validações básicas.
- Formulário dinâmico para abertura de chamados.
- Validação obrigatória de campos antes do envio.
- Criação automática do registro Case via Apex.
- Feedback visual após a criação (mensagem de sucesso ou erro).
| Estado Inicial | Ação | Novo Estado | Botão Exibido |
|---|---|---|---|
| Formulário vazio | Usuário preenche os campos obrigatórios | Campos validados localmente | Criar Chamado |
| Campos válidos | Clicar em "Criar Chamado" | Requisição enviada ao Apex | Criar Chamado |
| Envio bem-sucedido | Resposta de sucesso do Apex | Formulário limpo + feedback visual | — |
| Erro no envio | Resposta de erro do Apex | Mensagem de erro exibida | Criar Chamado |
- Os campos visíveis estão fixos no código; não há flexibilidade via metadata.
- Não possui tratamento para anexos ou relacionamentos complexos (ex: contatos).
- Depende de permissões para criação de registros do objeto Case.
Apex:
@AuraEnabled
public static Case createCase(String subject, String description, ...) {
// Lógica de criação do Case
}Permite consultar e editar registros existentes do objeto Case com base no número do chamado, oferecendo uma interface para pesquisa, visualização e atualização dos dados.
- Busca por registros
Casecom base noCaseNumberdigitado. - Exibição dos dados do chamado recuperado.
- Edição em tempo real dos campos permitidos diretamente na interface.
- Validação básica dos dados antes do envio.
- Atualização dos dados via método Apex.
- Feedback visual em caso de sucesso ou erro na atualização.
- Possibilidade de iniciar nova busca após edição ou consulta.
| Propriedade | Tipo | Descrição |
|---|---|---|
| Nenhuma | — | O componente não utiliza @api. |
| Estado Inicial | Ação | Novo Estado | Botão Exibido |
|---|---|---|---|
| Formulário de busca vazio | Usuário digita o número do caso | Campo preenchido localmente | Search case |
| Número preenchido | Clicar em "Search case" | Chamada ao Apex (getCasesInfo) |
Search case |
| Busca bem-sucedida | Casos retornados com sucesso | Dados exibidos + botões Edit/New Search | Edit Case, New Search |
| Busca falha | Erro na requisição Apex | Mensagem de erro + sem dados exibidos | Search case |
| Casos exibidos | Clicar em "Edit Case" | Formulário de edição exibido | Salvar, Cancelar |
| Formulário de edição | Campos preenchidos corretamente + clicar "Salvar" | Chamada ao Apex para atualizar o caso | — |
| Campos inválidos | Clicar "Salvar" | Alerta de erro + formulário mantido | Salvar, Cancelar |
| Edição salva com sucesso | Apex atualiza o caso | Mensagem de sucesso + tela limpa | — |
| Clicar "Cancelar" | Cancelamento da edição | Volta à visualização do caso | Edit Case, New Search |
| Clicar "New Search" | Reinicia o processo | Formulário de busca limpo | Search case |
- O componente só funciona com o
CaseNumber; não é possível buscar por outros campos. - Campos editáveis estão fixos no código (sem personalização via
metadata). - Não há suporte a anexos, comentários ou relacionamentos.
- Requer permissões de leitura e atualização no objeto
Case.
@AuraEnabled
public static List<Case> getCasesInfo(String caseNumber) {
// Retorna a lista de Cases com base no número informado
}
@AuraEnabled
public static void updateCase(Case caseObj) {
// Atualiza o registro de Case com os dados informados
}