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

PropriedadeDescriçãoTipoPadrã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

PropriedadeDescriçãoTipoPadrã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