Skip to content

Métodos e Propriedades

Uma instancia da classe HTApi possui alguns métodos para que você consiga interagir com a biblioteca. Usando eles, você tem controle total sobre as traduções, configurações e interações com os componentes internos, podendo criar seus próprios casos de uso e controle de fluxo.

Para se ter uma melhor noção sobre os métodos disponíveis em uma classe, considere a seguinte classe de exemplo:

typescript
class HTApi {
	// Propriedades
	isLoaded: boolean;

	// Métodos
	pause(): void;
	active(): void;
	resume(): void;
	minimize(): void;
	maximize(): void;
	openRate(): void;
	closeRate(): void;
	getZoom(): number;
	getConfig(): IConfig;
	stop(): Promise<void>;
	repeat(): Promise<void>;
	disable(): Promise<void>;
	zoom(step: number): void;
	rate(like: boolean): void;
	getRotationAngle(): number;
	rotate(angle: number): void;
	setConfig(config: PatchConfig): void;
	getApplicationState(): IApplicationState;
	translate(sentence: string): Promise<void>;
	changeAnimationSpeed(speed: CoreSpeed): void;
	onConfigChange(callback: (config: IConfig) => void): () => void;
	observeRotationAngle(callback: (angle: number) => void): () => void;
	observeZoomQuantity(callback: (quantity: number) => void): () => void;
	onApplicationStateChange(callback: (applicationState: IApplicationState) => void): () => void;
}

Propriedades

isLoaded

  • tipo: boolean
  • padrão: false

Propriedade que indica se a biblioteca está carregada.

ATENÇÃO

Essa propriedade não diz respeito ao estado de desativação da biblioteca, servindo para indicar que todos os dados necessários para a inicialização da biblioteca foram carregados corretamente.

Métodos

Controles Gerais da Aplicação

active()

  • retorna: void

Método que inicia a biblioteca e permite as interações com a api, sem sua chamada, nenhum outro método tem efeito. Recomendamos que execute esse método utilizando algum botão de sua preferência.

disable()

  • retorna: Promise<void>

Método que desativa o SDK, impedindo as interações com ela. Esse método também é chamado por interface quando o usuário clica no botão fechar tanto na Janela de tradução, quanto no Widget.

setConfig(config: PatchConfig)

  • retorna: void
  • prop: PatchConfig:

Método que define as configurações da biblioteca. Este método é útil para mudar as configurações após instanciar o HTApi e mudar as propriedades que foram passadas ao construtor. Todas as propriedades independente do nível são opcionais, podendo ter um alto grau de flexibilidade na configuração da biblioteca.

Casos de uso recomendados:

  • alterar tema;
  • alterar idioma;
  • alterar token;
  • alterar língua de sinais.

Para ver quais as configurações disponíveis, veja Configurações.

getConfig()

  • retorna: void
  • prop: IConfig:

Método que retorna as configurações atuais da biblioteca.

Para ver quais as configurações disponíveis, veja Configurações.

onConfigChange(callback: (config: IConfig) => void)

  • retorna: () => void
  • prop: (config: IConfig) => void

Semelhante ao getConfig, porém recebe uma função callback para observar mudanças nas configurações. Esse método retorna uma função que quando executada, para de observar as mudanças.

getApplicationState()

  • retorna: IApplicationState

Método que retorna o estado atual da aplicação. Nosso SDK tem um fluxo de estados que indicam qual a atual situação da aplicação. Isso ajuda para casos em que queremos mudar a interface ou executar certas ações dependendo do estado atual.

Veja mais em Fluxo de Estados

onApplicationStateChange(callback: (applicationState: IApplicationState) => void)

  • retorna: () => void
  • prop: (applicationState: IApplicationState) => void

Semelhante ao getApplicationState, porém recebe uma função callback para observar mudanças no estado da aplicação. Esse método retorna uma função que quando executada, para de observar as mudanças.

Veja mais em Fluxo de Estados


Controle das Traduções

translate(sentence: string)

  • retorna: Promise<void>
  • prop: string

Método que inicia uma nova tradução. Esse método está relacionado com a funcionalidade Tradução.

AVISO

Método só disponível quando a aplicação tiver no estado de ready.

pause()

  • retorna: void

Método que pausa uma tradução em andamento. Esse método também é chamado quando o usuário clica no botão pausar na janela de tradução.

AVISO

Método só disponível quando a aplicação tiver no estado de translating e a tradução atual já não esteja pausada.

changeAnimationSpeed(speed: CoreSpeed);

  • retorna: void
  • prop: CoreSpeed
typescript
type CoreSpeed = "normal" | "slow" | "fast";

Método que muda a velocidade da tradução. Esse método também é chamado quando o usuário clica no botão mudar velocidade na janela de tradução.

resume()

  • retorna: void

Método que retomar uma tradução em andamento. Esse método também é chamado quando o usuário clica no botão play na janela de tradução.

AVISO

Método só disponível quando a aplicação tiver no estado de translating e a tradução atual deve estar pausada.

repeat()

  • retorna: Promise<void>

Método que repete a última tradução feita. Esse método também é chamado quando o usuário clica no botão repetir na janela de tradução.

AVISO

Método só disponível quando a aplicação tiver no estado de ready, minimized ou rating e somente quando houver uma tradução em cache.

stop()

  • retorna: Promise<void>

Método que cancela uma tradução em andamento. Esse método também é chamado quando o usuário clica no botão parar na janela de tradução.

AVISO

Método só disponível quando a aplicação tiver no estado de translating.


Controle da Ocultação

minimize()

  • retorna: void

Método que minimiza a janela de tradução, se ela estiver visível. Não há um componente para interagir com essa funcionalidade, mas você pode ver seu funcionamento aqui.

AVISO

Método só disponível quando a aplicação tiver no estado de ready.

maximize()

  • retorna: void

Método que maximiza a janela de tradução, se ela estiver minimizada. Não há um componente para interagir com essa funcionalidade, mas você pode ver seu funcionamento aqui.

AVISO

Método só disponível quando a aplicação tiver no estado de minimized.


Controle de Avaliação

Os métodos dessa categoria estão relacionados com a funcionalidade Avaliação da Tradução.

openRate()

  • retorna: void

Método que abre a janela de avaliação. Esse método também é chamado quando o usuário clica no botão Avaliar.

AVISO

Método só disponível quando a aplicação estiver no estado ready ou minimized.

closeRate()

  • retorna: void

Método que fecha a janela de avaliação. Esse método também é chamado quando o usuário clica no botão Voltar na janela de avaliação.

AVISO

Método só disponível quando a aplicação estiver no estado rating.

rate(like: boolean)

  • retorna: void
  • prop: boolean

Método que envia uma avaliação para nosso servidor. Esse método também é chamado quando o usuário clica no botão Confirmar na janela de avaliação.

AVISO

Método só disponível quando a aplicação tiver no estado de rating.


Controle do Avatar 3D

Os métodos dessa categoria estão relacionados com as funcionalidade Zoom e Rotação.

zoom(step: number)

  • retorna: void
  • prop: 0 | 1 | 2 | 3
  • default: 0

Método que altera o zoom do avatar. Esse método é acionado quando o usuário usar o scroll do mouse + CTRL ou com gesto de pinça usando touchscreen.

AVISO

Qualquer número pode ser passado, porém somente os números limitados no range 0 | 1 | 2 | 3 serão aceitos.

getZoom(): number

  • retorna: 0 | 1 | 2 | 3

Método que retorna o nível de zoom atual do avatar.

observeZoomQuantity(callback: (quantity: number) => void);

  • retorna: () => void
  • prop: (quantity: number) => void

Método que recebe uma função callback para observar mudanças no zoom do avatar. Ele retorna uma função que quando executada, para de observar as mudanças.

rotate(angle: number)

  • retorna: void
  • prop: number

Método que altera a rotação do avatar. Esse método é acionado quando o usuário segura e arrasta o mouse estando no avatar 3D ou usando o touchscreen.

AVISO

A propriedade angle pode receber qualquer valor numérico, porém ela representa uma rotação em graus, ou seja, sendo 0 a posição inicial, valores acima disso irão rotacionar o avatar 3D para a direita e valores abaixo disso irão rotacionar para a esquerda.

O valor não é acumulativo, sendo ele a posição exata que o avatar 3D deve ficar, ou seja, chamar a função rotate(10) e depois rotate(20) não é o mesmo que chamar rotate(30).

para rotacionar o avatar 3D completamente em seu próprio eixo, basta passar -360° ou 360° como parâmetro, sendo esses valores os limites da rotação.

Caso passe valores acima de 360° ou abaixo de -360°, o avatar 3D vai rotacionar em até o limite passado mais o excedente. Ou seja, rotacionar 400° é o equivalente a rotacionar 40° (360° + 40° = 400) e rotacionar -400° é o equivalente a rotacionar -40° (-360° - 40° = -400).

getRotationAngle();

  • retorna: number

Método que retorna a rotação atual do avatar.

observeRotationAngle(callback: (angle: number) => void)

  • retorna: () => void
  • prop: (angle: number) => void

Método que recebe uma função callback para observar mudanças na rotação do avatar. Ele retorna uma função que quando executada, para de observar as mudanças.

Lançado sob Licença MIT.