# snk-data-unit



<!-- Auto Generated Below -->


## Properties

| Property                | Attribute                 | Description                                                                                                                                                                        | Type                                                  | Default     |
| ----------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ----------- |
| `afterSave`             | --                        | Executado após a ação de salvar.                                                                                                                                                   | `(dataUnit: DataUnit) => void`                        | `undefined` |
| `beforeSave`            | --                        | Executado imediatamente antes da ação de salvar as alterações. Útil no caso de validações por exemplo. Caso retorne "false" (ou a promessa se resolva como false), cancela a ação. | `(dataUnit: DataUnit) => boolean \| Promise<boolean>` | `undefined` |
| `configName`            | `config-name`             | Usado para obter configuração de metadados.                                                                                                                                        | `string`                                              | `undefined` |
| `dataState`             | --                        | Controla o estado atual dos dados.                                                                                                                                                 | `DataState`                                           | `undefined` |
| `dataUnit`              | --                        | Uma vez instanciado, pode-se obter o dataUnit por esta propriedade.                                                                                                                | `DataUnit`                                            | `undefined` |
| `dataUnitName`          | `data-unit-name`          | Usado para criar o dataUnit uma única vez. Se omitido, será usado o próprio nome da entidade.                                                                                      | `string`                                              | `undefined` |
| `domainMessagesBuilder` | `domain-messages-builder` | Define a chave customizada para sobrescrever as mensagens (Não pegando pela entidade)                                                                                              | `string`                                              | `undefined` |
| `entityName`            | `entity-name`             | Determina qual a entidade que representa os dados em questão.                                                                                                                      | `string`                                              | `undefined` |
| `ignoreSaveMessage`     | `ignore-save-message`     | Responsável por evitar a mensagem de sucesso ao salvar.                                                                                                                            | `boolean`                                             | `undefined` |
| `messagesBuilder`       | --                        | Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.                                                                                             | `SnkMessageBuilder`                                   | `undefined` |
| `pageSize`              | `page-size`               | Determina quantas linhas são retornadas por página.                                                                                                                                | `number`                                              | `150`       |
| `resourceID`            | `resource-i-d`            | Identificador de recursos como configurações e acesso.                                                                                                                             | `string`                                              | `undefined` |
| `useCancelConfirm`      | `use-cancel-confirm`      | Determina se será usado mensagem de confirmação padrão na tentativa de cancelar a edição.                                                                                          | `boolean`                                             | `true`      |


## Events

| Event                    | Description                                                   | Type                             |
| ------------------------ | ------------------------------------------------------------- | -------------------------------- |
| `cancelEdition`          | Emitido quando se cancela uma inserção ou cópia.              | `CustomEvent<void>`              |
| `dataStateChange`        | Emitido quando há qualquer mudança de estado no DataUnit.     | `CustomEvent<DataState>`         |
| `dataUnitFieldsHidded`   | Emitido quando há campos no DataUnit que devem ser ocultados. | `CustomEvent<void>`              |
| `dataUnitReady`          | Emitido quando o DataUnit está pronto.                        | `CustomEvent<DataUnit>`          |
| `insertionMode`          | Emitido quando um registro é adicionado ou copiado.           | `CustomEvent<void>`              |
| `messagesBuilderUpdated` | Emitido quando o messagesBuilder é atualizado.                | `CustomEvent<SnkMessageBuilder>` |


## Methods

### `getDataUnit() => Promise<DataUnit>`

Obtém o dataUnit.

#### Returns

Type: `Promise<DataUnit>`

Uma promessa que resolve com a instância do DataUnit.

---

### `getFieldsWithRmPrecision() => Promise<string[]>`

Retorna os campos que possuem a propriedade "rm_precision" (Row Metadata Precision).

#### Returns

Type: `Promise<string[]>`

Uma promessa que resolve com um array de nomes de campos.

---

### `getFieldsWithRmp() => Promise<string[]>`

Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).

#### Returns

Type: `Promise<string[]>`

Uma promessa que resolve com um array de nomes de campos.

---

### `getRowMetadata(record?: Record | string) => Promise<RowMetadata>`

Busca os metadados da linha selecionada.

#### Returns

Type: `Promise<RowMetadata>`

Uma promessa que resolve com os metadados da linha.

---

### `getSelectedRecordsIDsInfo() => Promise<Array<IRecordID>>`

Método que retorna a lista de IDs dos registros selecionados.

#### Returns

Type: `Promise<IRecordID[]>`

Retorna uma promessa que resolve com a lista de IDs dos registros selecionados.


## Dependencies

### Used by

 - [snk-detail-view](../snk-crud/subcomponents/snk-detail-view)
 - [snk-guides-viewer](../snk-crud/subcomponents)
 - [snk-simple-crud](../snk-simple-crud)

### Graph
```mermaid
graph TD;
  snk-detail-view --> snk-data-unit
  snk-guides-viewer --> snk-data-unit
  snk-simple-crud --> snk-data-unit
  style snk-data-unit fill:#f9f,stroke:#333,stroke-width:4px
```

----------------------------------------------


