# snk-application



<!-- Auto Generated Below -->


## Properties

| Property                      | Attribute                         | Description                                                                                                                                                                                                                                 | Type                                                   | Default     |
| ----------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------- |
| `configName`                  | `config-name`                     | Nome da configuração utilizada para salvar as preferências dos blocos de construção.                                                                                                                                                        | `string`                                               | `undefined` |
| `enableLockManagerLoadingApp` | `enable-lock-manager-loading-app` | Define se o componente deve usar o LockManager para controle de carregamento da aplicação.                                                                                                                                                  | `boolean`                                              | `undefined` |
| `formLegacyConfigName`        | `form-legacy-config-name`         | Chave da configuração legada do formulário, utilizada para migração de configurações antigas.                                                                                                                                               | `string`                                               | `undefined` |
| `gridLegacyConfigName`        | `grid-legacy-config-name`         | Chave da configuração legada da grade, utilizada para migração de configurações antigas.                                                                                                                                                    | `string`                                               | `undefined` |
| `loadByPK`                    | --                                | Usado para receber um parâmetro na inicialização da tela, e utilizá-lo conforme necessário caso a tela receba um parâmetro, e, esta propriedade não seja informada é criado um filtro de forma automática através do método defaultLoadByPk | `(objPK: { pk: any; }, redirectFrom?: string) => void` | `undefined` |
| `messagesBuilder`             | --                                | Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.                                                                                                                                                      | `SnkMessageBuilder`                                    | `undefined` |


## Events

| Event                | Description                               | Type                   |
| -------------------- | ----------------------------------------- | ---------------------- |
| `applicationLoaded`  | Emitido quando a aplicação for carregada. | `CustomEvent<boolean>` |
| `applicationLoading` | Emitido ao iniciar a carga do componente. | `CustomEvent<boolean>` |


## Methods

### `addClientEvent(eventID: String, handler: (clientEvent: IClientEventResponse, dataFetcherReacaller: IDataFetcherRecaller) => void) => Promise<void>`

Registra um client event para o DataFetcher da aplicação.

#### Returns

Type: `Promise<void>`

---

### `addLoadingLock(forceReady?: boolean, templateSkeletonType?: TEMPLATES_SKELETON) => Promise<() => void>`

Adiciona um bloqueio de carregamento à aplicação.

#### Returns

Type: `Promise<() => void>`

O ID do bloqueio adicionado.

---

### `addPendingAction(actionsLocker: string, action: Function) => Promise<void>`

Adiciona uma ação pendente que deve ser executada por um determinado locker.

#### Returns

Type: `Promise<void>`

---

### `addSearchListener(entityName: string, dataUnit: DataUnit, listener: ISearchListener) => Promise<IRemoveSearchListener>`

Adiciona um listener no fetcher de Pesquisa.

#### Returns

Type: `Promise<IRemoveSearchListener>`

Uma função para remover o listener.

---

### `alert(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`

Exibe o diálogo de alerta de acordo com os parâmetros passados.

#### Returns

Type: `Promise<boolean>`

---

### `callServiceBroker(serviceName: string, payload: string | Object, options?: Options) => Promise<any>`

Realiza a chamada ao Service Broker conforme o nome do serviço.

#### Returns

Type: `Promise<any>`

A resposta do Service Broker.

---

### `clearPopUpTitle() => Promise<void>`



#### Returns

Type: `Promise<void>`

---

### `closeModal() => Promise<void>`

Fecha o Modal e limpa o conteúdo.

#### Returns

Type: `Promise<void>`

---

### `closePopUp() => Promise<void>`

Fecha o Popup e limpa o conteúdo.

#### Returns

Type: `Promise<void>`

---

### `confirm(title: string, message: string, icon?: string, dialogType?: DialogType, options?: MessageOptions) => Promise<boolean>`

Exibe um diálogo de confirmação.

#### Returns

Type: `Promise<boolean>`

`true` se confirmado, `false` caso contrário.

---

### `createDataunit(entityName: string, dataUnitName?: string, parentDataUnit?: DataUnit, configName?: string, resourceID?: string) => Promise<DataUnit>`

Cria o DataUnit a partir do nome da entidade. É possível armazená-lo no cache
passando o dataUnitName, assim, se mais de uma chamada for feita, o mesmo DataUnit será usado.

#### Returns

Type: `Promise<DataUnit>`

O DataUnit criado ou obtido do cache.

---

### `error(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`

Exibe o diálogo de erro de acordo com os parâmetros passados.

#### Returns

Type: `Promise<boolean>`

---

### `executePreparedSearch(mode: string, argument: string, options: any) => Promise<Array<IOption> | IOption>`

Obtém as opções em componentes de pesquisa com base em opções preparadas.
Ex.: snk-config-options

#### Returns

Type: `Promise<IOption | IOption[]>`

Uma lista de opções ou uma única opção.

---

### `executePreparedSearchPlus(mode: string, argument: string, options: any) => Promise<Array<IOption> | IOption>`

Realiza a pesquisa de registros
Ex.: snk-config-options

#### Returns

Type: `Promise<IOption | IOption[]>`

Uma lista de opções ou uma única opção.

---

### `executeSearch(searchArgument: ISearchArgument, fieldName: string, dataUnit: DataUnit, ctxOptions?: ISearchCtxOptions) => Promise<Array<IOption> | IOption>`

Obtém as opções em componentes de pesquisa.
Ex.: snk-config-options

#### Returns

Type: `Promise<IOption | IOption[]>`

Uma lista de opções ou uma única opção.

---

### `executeSelectDistinct(dataUnit: DataUnit, fieldName: string, argument: string) => Promise<Array<any>>`

Com base em um campo realiza um "select distinct" respeitando os
filtros atuais do dataUnit e um critério de filtro para a própria
coluna.

#### Returns

Type: `Promise<any[]>`

Uma lista de valores distintos.

---

### `getAllAccess(resourceID?: string) => Promise<any>`

Obtém todos os acessos do usuário logado para um recurso específico ou para a aplicação.

#### Returns

Type: `Promise<any>`

Um objeto contendo todos os tipos de acesso e se o usuário os possui.

---

### `getAppLabel() => Promise<string>`

Obtém o nome (label) da aplicação.

#### Returns

Type: `Promise<string>`

O nome da aplicação.

---

### `getApplicationPath() => Promise<string>`

Retorna o path relativo da aplicação.

#### Returns

Type: `Promise<string>`

O caminho relativo da aplicação.

---

### `getAttributeFromHTMLWrapper(attribName: string) => Promise<string>`

Acessa informações de contexto "empurrados" na abertura da tela.

#### Returns

Type: `Promise<string>`

O valor do atributo.

---

### `getBooleanParam(name: string) => Promise<boolean>`

Obtém o valor de um parâmetro do tipo booleano.

#### Returns

Type: `Promise<boolean>`

O valor do parâmetro como booleano.

---

### `getConfig(key: string) => Promise<any>`

Obtém a configuração de um recurso por service broker.

#### Returns

Type: `Promise<any>`

Os dados da configuração.

---

### `getDataFetcher() => Promise<DataFetcher>`

Retorna a instância do DataFetcher utilizado pelo application.

#### Returns

Type: `Promise<DataFetcher>`

O DataFetcher da aplicação.

---

### `getDataUnit(entityName: string, dataUnitName: string, parentDataUnit?: DataUnit, configName?: string, resourceID?: string) => Promise<DataUnit>`

Obtém um DataUnit do cache ou cria um caso ainda não tenha sido criado.

#### Returns

Type: `Promise<DataUnit>`

O DataUnit obtido do cache ou recém-criado.

---

### `getDateParam(name: string) => Promise<Date>`

Obtém o valor de um parâmetro do tipo data.

#### Returns

Type: `Promise<Date>`

O valor do parâmetro como objeto Date.

---

### `getFloatParam(name: string) => Promise<number>`

Obtém o valor de um parâmetro do tipo Decimal.

#### Returns

Type: `Promise<number>`

O valor do parâmetro como número decimal.

---

### `getIntParam(name: string) => Promise<number>`

Obtém o valor de um parâmetro do tipo Inteiro.

#### Returns

Type: `Promise<number>`

O valor do parâmetro como número inteiro.

---

### `getKeyboardManager() => Promise<KeyboardManager>`

Obtém o controlador de teclado.

#### Returns

Type: `Promise<KeyboardManager>`

O gerenciador de teclado.

---

### `getLayoutFormConfig() => Promise<LayoutFormConfig>`

Obtém o notificador de Layout de formulário.

#### Returns

Type: `Promise<LayoutFormConfig>`

O configurador de Layout do Formulário.

---

### `getResourceID() => Promise<string>`

Obtém o resourceID da tela em questão.

#### Returns

Type: `Promise<string>`

O ID do recurso da aplicação.

---

### `getStringParam(name: string) => Promise<string>`

Obtém o valor de um parâmetro do tipo string.

#### Returns

Type: `Promise<string>`

O valor do parâmetro como string.

---

### `getUserID() => Promise<string>`

Obtém o UserId do usuário logado.

#### Returns

Type: `Promise<string>`

O ID do usuário.

---

### `hasAccess(access: AutorizationType, resourceID?: string) => Promise<boolean>`

Obtém `true` caso o usuário logado tenha permissão para determinada ação.

#### Returns

Type: `Promise<boolean>`

`true` se o usuário tiver acesso, `false` caso contrário.

---

### `hasClientEvent(eventID: String) => Promise<boolean>`

Verifica se um client event está registrado no DataFetcher da aplicação.

#### Returns

Type: `Promise<boolean>`

`true` se o evento estiver registrado, `false` caso contrário.

---

### `importScript(relativePath: string | Array<string>) => Promise<void>`

Realiza o import de um JavaScript que está disponível dentro da pasta /public da aplicação.

#### Returns

Type: `Promise<void>`

---

### `info(message: string, options?: MessageOptions) => Promise<void>`

Exibe uma informação efêmera (de segundo plano).

#### Returns

Type: `Promise<void>`

---

### `initOnboarding(onboardingKey: string) => Promise<void>`

Inicializa o onboarding para uma chave específica.

#### Returns

Type: `Promise<void>`

---

### `isDebugMode() => Promise<boolean>`

Obtém `true` caso a tela esteja em modo de debug.

#### Returns

Type: `Promise<boolean>`

---

### `isFeatureActive(featureName: string) => Promise<boolean>`

Retorna se uma feature flag global está ativa ou não.

#### Returns

Type: `Promise<boolean>`

---

### `isLoadedByPk() => Promise<boolean>`

Obtém a informação se o último carregamento do dataunit foi feito através de um loadByPk.

#### Returns

Type: `Promise<boolean>`

`true` se foi carregado por PK, `false` caso contrário.

---

### `isUserSup() => Promise<boolean>`

Obtém `true` caso o usuário logado seja o SUP.

#### Returns

Type: `Promise<boolean>`

`true` se o usuário for SUP, `false` caso contrário.

---

### `loadTotals(name: string, resourceID: string, filters: Array<Filter>) => Promise<Map<string, number>>`

Obtém os totalizadores da grade.

#### Returns

Type: `Promise<Map<string, number>>`

Um mapa com os nomes dos totalizadores e seus valores.

---

### `markToReload(templateSkeletonType?: TEMPLATES_SKELETON) => Promise<void>`

Marca a aplicação para recarregar, opcionalmente especificando um tipo de esqueleto de carregamento.

#### Returns

Type: `Promise<void>`

---

### `message(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`

Exibe um diálogo de mensagem comum.

#### Returns

Type: `Promise<boolean>`

---

### `openApp(resourceId: string, pkObject: Object) => Promise<void>`

Abre determinada tela, repassando pkObject.

#### Returns

Type: `Promise<void>`

---

### `preloadMangerRemoveRecord(dataUnit: DataUnit, recordsIDs: Array<string>) => Promise<void>`

Remove registro do cache do PreLoader do dataunit.
Deve ser usado quando existe um dataunit usando loader do application, mas o removeLoader está sendo sobrescrito.

#### Returns

Type: `Promise<void>`

---

### `removeClientEvent(eventID: String) => Promise<void>`

Remove um client event do DataFetcher da aplicação.

#### Returns

Type: `Promise<void>`

---

### `saveConfig(key: string, data: Object) => Promise<any>`

Salva a configuração de determinado recurso.

#### Returns

Type: `Promise<any>`

O resultado da operação de salvamento.

---

### `setPopUpTitle(title: string) => Promise<void>`



#### Returns

Type: `Promise<void>`

---

### `setSearchFilterContext(name: string, value: string) => Promise<void>`

Atribui valor para parâmetros de contexto no componente de pesquisa.

#### Returns

Type: `Promise<void>`

---

### `showAlerts(alerts: Array<AlertItem>) => Promise<void>`

Apresenta uma lista de alertas.
Geralmente é utilizado para apresentar resultados de processamentos em lote.

#### Returns

Type: `Promise<void>`

---

### `showModal(content: HTMLElement) => Promise<void>`

Exibe o conteúdo passado em um Modal.

#### Returns

Type: `Promise<void>`

---

### `showPopUp(content: HTMLElement, size?: "auto" | "full", useHeader?: boolean, onCloseCallback?: Function) => Promise<void>`

Exibe o conteúdo passado em um Popup.

#### Returns

Type: `Promise<void>`

---

### `showScrimApp(active: boolean) => Promise<void>`



#### Returns

Type: `Promise<void>`

---

### `success(title: string, message: string, icon?: string, options?: MessageOptions) => Promise<boolean>`

Exibe o diálogo de sucesso de acordo com os parâmetros passados.

#### Returns

Type: `Promise<boolean>`

---

### `temOpcional(opcional: string) => Promise<boolean>`

Verifica se a licença do cliente tem determinado opcional (produto).

#### Returns

Type: `Promise<boolean>`

`true` se o cliente tiver o opcional, `false` caso contrário.

---

### `updateDataunitCache(oldName: string, dataUnitName: string, dataUnit: DataUnit) => Promise<void>`

Atualiza o cache de dataunits da aplicação.

#### Returns

Type: `Promise<void>`

---

### `webConnection(keyPort: string, methodName: string, params: IAppletCallerParams) => Promise<void>`

Realiza a chamada do WebConnection para realizar a exportação de arquivo.

#### Returns

Type: `Promise<void>`

---

### `whenApplicationReady() => Promise<SnkApplication>`

Retorna uma promise que será resolvida quando o snk-application estiver carregado e registrado no ApplicationContext.

#### Returns

Type: `Promise<SnkApplication>`

O componente SnkApplication carregado.


## Dependencies

### Used by

 - [teste-pesquisa](../teste-pesquisa)

### Depends on

- [snk-pesquisa](../snk-pesquisa)

### Graph
```mermaid
graph TD;
  snk-application --> snk-pesquisa
  snk-pesquisa --> pesquisa-grid
  snk-pesquisa --> pesquisa-tree
  teste-pesquisa --> snk-application
  style snk-application fill:#f9f,stroke:#333,stroke-width:4px
```

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


