Skip to content

Criar Instância com Campos Auto-Preenchidos

(Funcionalidade de Clipboard / Auto-Paste)

Esta funcionalidade é ideal para:
  • Gerar links que abrem uma nova instância com valores por defeito
  • Passar dados entre ecrãs usando URLs
Isto é feito passando um objeto JSON na URL, que especifica:
  • Os campos a pré-preencher
  • Definições de comportamento opcionais (colar automaticamente, tornar só de leitura)

Como Funciona

Estrutura de exemplo:

OperaçãoSintaxeArgumentos
criar#/instance/create/<id>/data={"opts":{...},"fields":[...]}<id> é o id da definção
editar#/instance/<id>/data={"opts":{...},"fields":[...]}<id> é o id da instância
Opções (opts):

Se omitidas, a funcionalidade usa os comportamentos padrão, sendo cada valor "false".

  • auto-paste-if-empty true → Cola automaticamente o valor apenas se o campo estiver vazio false → Mostra um botão junto ao campo que o utilizador pode clicar para colar

  • readonly-on-paste true → Depois de colar, o campo torna-se só de leitura false → O campo permanece editável

Campos (fields):

Each atribuition looks like:

 {"value":"`valor1`","fieldDefinition":{"name":"`campo1`"}}, 
 {"value":"`valor1`","fieldDefinition":{"name":"`campo2`"}},
 ...

Exemplo de utilização

Exemplo Básico

O cenário mais comum é criar uma instância com valores preenchidos, e pode ser usado da seguinte forma:

  • se queremos criar uma instância da definição 161
  • e preencher os campos da seguinte forma:
nomde do campo->valor do campo a preencher
Type->Mission
Amount->small

#/instance/create/161/data={
    "opts": { "auto-paste-if-empty": true, "readonly-on-paste": false },
    "fields": [
        {"value":"Mission","fieldDefinition":{"name":"Type"}},
        {"value":"small","fieldDefinition":{"name":"Ammout"}}
    ]
}

Com as opções selcionadas: "auto-paste-if-empty": false, "readonly-on-paste": true Este é o comportamento obtido:

screenshot_2025-11-26_at_17.18.07

Os valores não são colados automáticamente, e a opção de os colar aparece ao lado de cada campo

screenshot_2025-11-26_at_17.18.18

quando os valores são colados, os campos tornam-se apenas de leitura

Exemplo com Expressões Recordm

Num caso onde temos os campos valor e tipo e queremos construir uma ligação para criar outra instância e colar esses valores. Abaixo está um exemplo prático usado dentro do Recordm para gerar um link dinâmico que cria uma instância e pré-preenche dois campos:

$link $auto.text(valor,tipo).join('#/instance/create/294/data={
    "opts":{"auto-paste-if-empty":true, "readonly-on-paste": false},
		"fields":[
		     {"value":"',valor,'","fieldDefinition":{"name":"valor"}},
				 {"value":"',tipo,'","fieldDefinition":{"name":"Tipo"}}
		 ]
}')

screenshot_2025-11-26_at_08.37.28

Este link cria uma instância da definição 294 com os valores pré-definidos valor e Tipo.

screenshot_2025-11-26_at_08.28.54

O valor de Tipo é automaticamente colado devido à opção "auto-paste-if-empty": true

Como valor é "$[*grande,pequeno]", o valor já está preenchido como grande, e haverá uma opção para colar