32 lines
894 B
Markdown
32 lines
894 B
Markdown
|
|
# Quick Create Customer
|
||
|
|
|
||
|
|
Feature pública reutilizable del módulo `customers` para alta rápida embebida.
|
||
|
|
|
||
|
|
## API pública
|
||
|
|
|
||
|
|
```ts
|
||
|
|
import {
|
||
|
|
QuickCreateCustomerDialog,
|
||
|
|
useQuickCreateCustomerFlow,
|
||
|
|
} from "@erp/customers/common";
|
||
|
|
```
|
||
|
|
|
||
|
|
## Ejemplo mínimo
|
||
|
|
|
||
|
|
```tsx
|
||
|
|
const quickCreate = useQuickCreateCustomerFlow({
|
||
|
|
onCustomerCreated: (customer) => {
|
||
|
|
formCtrl.setCustomer(customer);
|
||
|
|
},
|
||
|
|
});
|
||
|
|
|
||
|
|
<Button onClick={quickCreate.createCtrl.openDialog}>Crear cliente</Button>
|
||
|
|
<QuickCreateCustomerDialog ctrl={quickCreate.createCtrl} />;
|
||
|
|
```
|
||
|
|
|
||
|
|
## Contrato
|
||
|
|
|
||
|
|
- Éxito: devuelve un `CustomerSelectionOption`, listo para reutilizarse en flujos de selección.
|
||
|
|
- Cancelación: no crea nada, cierra el diálogo y dispara `onCancel` si el consumidor lo ha proporcionado.
|
||
|
|
- Integración con `customer-selection`: puede abrirse desde el selector y devolver el cliente para dejarlo seleccionado automáticamente.
|