Componente
Inplace
Troca uma exibição somente-leitura pelo seu editor no mesmo lugar. Clique na exibição para revelar o template de conteúdo, feche-o com um elemento fechador, ou controle o estado ativo você mesmo.
Clique para editar
Photo title: Autumn morning — click to edit
import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
import { HbButtonComponent, HbInplaceImports, HbInputDirective } from '@herbst/ui';
@Component({
selector: 'hb-demo-inplace-basic',
imports: [HbInplaceImports, HbInputDirective, HbButtonComponent],
template: `
<hb-inplace class="w-full max-w-sm">
<ng-template hbInplaceDisplay>
<span class="text-sm">
Photo title:
<span class="font-medium">{{ value() }}</span>
<span class="text-muted-foreground"> — click to edit</span>
</span>
</ng-template>
<ng-template hbInplaceContent>
<div class="flex items-center gap-2">
<input hb-input #box [value]="value()" placeholder="Autumn morning" />
<button hb-button hbInplaceCloser (click)="value.set(box.value)">Save</button>
</div>
</ng-template>
</hb-inplace>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoInplaceBasicComponent {
protected readonly value = signal('Autumn morning');
}
Controlado e eventos
idle
City: Freiburg
Desabilitado e prevent-click
Locked field — clicking does nothing
Notes: oak leaves turning amber
Referência de API
hb-inplace
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [(hbActive)] | Estado ativo bidirecional: false mostra a exibição, true mostra o conteúdo. | boolean | false |
| [hbDisabled] | Desabilita a ativação por completo; a exibição permanece somente-leitura. | boolean | false |
| [hbPreventClick] | Mantém a exibição estática (não clicável) — ative-a programaticamente via a instância exportada. | boolean | false |
| (hbActivate) / (hbDeactivate) | Emitem quando o editor abre e fecha. | void | — |
| exportAs / methods | Referencie como #ref="hbInplace" para chamar activate(), deactivate() ou toggle(). | 'hbInplace' | — |
Slots
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| ng-template[hbInplaceDisplay] | A visão somente-leitura mostrada enquanto inativo. | template | — |
| ng-template[hbInplaceContent] | O editor mostrado enquanto ativo. | template | — |
| [hbInplaceCloser] | Qualquer elemento dentro do conteúdo que desativa ao ser clicado. | directive | — |