Class: Link

@nginstack/web-framework/lib/anchor/Link~ Link


Define um atalho para auxiliar o fluxo das interações ou para executar códigos sem sair da interação corrente. Através de um atalho podemos ir para uma interação dentro ou fora do processo.

Parameters:
Name Type Argument Description
name string

Nome do atalho. O valor informado também será utilizado como o texto do botão, caso não a propriedade label não seja informada.

target string | function

Poderá ser informado:

  • nome de uma interação;
  • nome de uma atividade;
  • função que será atribuída ao evento onClick do botão.
processKey number <optional>

Parâmetro opcional que indica a chave do processo que contém a atividade ou interação informada no parâmetro "target". Será considerado o processo corrente quando não for informado.

newTab boolean <optional>

Parâmetro opcional que indica se deve ser criada uma nova aba para exibir a interação ou atividade informada em "target". Quando Será considerado "false" quando não for informado.

See:
Examples
// O exemplo ilustra a criação de um link definindo uma função que será
// executada ao se clicar nele, também ilustra a passagem de parâmetro
// através do link para o process.setNextInteraction.
const linkEspelhoDoPedido = sender.process.link('consultaEspelhoDoPedido', function (lnk) {
  const process = lnk.process;
  process.setNextInteraction('run', ['chave', sender.ds.chave], chaveProcesso, null, true);
});
linkEspelhoDoPedido.parameters.push('chave');
// O exemplo ilustra a criação de um link que irá para a interação "geraPedido".
const link = this.link('linkGeraPedido', 'geraPedido');
// O exemplo ilustra a criação de um link que irá executar a interação
// "query" do processo indicador por "chaveProcesso" e abrirá em uma nova aba.
const link = this.link('cadastro', 'query', chaveProcesso, true)

Extends

  • Anchor

Members


autoSanitize :boolean

Determina se texto do atalho deve ser tratado para remover tags que possam ser utilizadas com o objetivo de injetar scripts maliciosos em ataques do tipo Cross Site Scripting (XSS).

Ao desativar esta propriedade, é de crítica importância que algum tipo de validação ou sanitização seja realizada no conteúdo a ser escrito na tela.

Type:
  • boolean

cssClass :string

Classe CSS que será utilizada para configurar o visual do atalho.
Valor padrão: 'class="link"'

Type:
  • string

parameters :Array.<string>

Nomes dos parâmetros que serão passados para o processo destino ou para o evento "onClick" quando este link for utilizado. Os valores devem ser informados por outra API, como o writeLink do SimpleLayout. Opcionalmente, também pode ser informado um array com o nome e o valor do parâmetro.

Esta propriedade não pode ser utilizada em colunas do SimpleLayout com múltiplos links. Nesse cenário de uso, deve-se utilizar a propriedade params. Ela também não deve ser utilizada em conjunto com a propriedade params caso ambas as propriedades definam o mesmo parâmetro.

Esta propriedade é legada e mantida apenas para fins de compatibilidade. Em novas implementações, utilize apenas a propriedade params.

Type:
  • Array.<string>
Deprecated:
  • Utilize a propriedade `params`.
Example
link.parameters.push('eventKey');
link.parameters.push('description');
link.parameters.push(['action', ds.str('action')]);

sl.writeLink(ds.num('iKey'), [ds.num('iKey')], ds.str('iDescription'));

params :Record.<string, (string|number|boolean|Date|null)>

Parâmetros que serão passados para o processo destino ou para o evento "onClick" quando este link for clicado.

Esta propriedade é um objeto que associa os nomes das propriedades ao seus valores. As propriedades informadas serão definidas no processo destino quando o link for acionado. Somente podem ser informados valores primitivos ou datas.

Type:
  • Record.<string, (string|number|boolean|Date|null)>
Example
link.params.eventKey = ds.num('iKey');
link.params.description = ds.str('iDescription');

paramsFieldNames :Array

Nomes de campos do dataSet da grade que servirão de parâmetros para o atalho.

Type:
  • Array
Example
// O exemplo ilustra a definição de campos que serão passados como parâmetros
const link = this.link('linkParaEspelhoDePedidosAPagar');
link.paramsFieldNames = 'CHCRIACAO;CLASSE';

parent :Object

Objeto que contém este atalho. Poderá ser uma instância de:

  • Process, para os atalhos escritos no corpo do processo;
  • Field, para os atalhos definidos em um campo de grade;
  • Column, para os atalhos de uma coluna de um relatório.
Type:
  • Object
See:

srcId :string

Identificação do arquivo que será descarregado pelo navegador quando o usuário clicar no link. Essa identificação é gerada pelo método Process.prototype.getFileId.

O uso desta API não é mais recomendado, pois a sessão do usuário é bloqueada enquanto o arquivo é descarregado. Prefira utilizar o método Process.prototype.download.

Type:
  • string
See:
Examples
// O exemplo ilustra a criação de um link que irá fazer o download do
// arquivo "Arquivo temporário.txt"
this._download_file = this.link('_download_file');
this._download_file.srcId = this.getFileId(path, 'Arquivo temporário.txt');
// O exemplo ilustra a criação de um link que irá fazer o download do
// script -1898145534
this._download_script = this.link('_download_script');
this._download_script.srcId = this.getFileId(-1898145534, 'Incrementar conexões.reg');

Methods


clone()

Retorna uma cópia desta instância.

Returns:
Type
Link

prepare()

Criada apenas para tornar a #_prepare pública.


write(content, parametersValue, cssClass)

Escreve o atalho na tela.

Parameters:
Name Type Description
content string

Conteúdo que deverá ser exibido no atalho. Se não for informado, será exibido o valor da propriedade "label" ou da propriedade "name", caso a propriedade "label" não tenha sido definida.

parametersValue string

Valores dos parâmetros (opcional).

cssClass string

Classe CSS do link (opcional).