Personalizzare facilmente l’ordine di inserimento dei moduli dinamici

Tradotto automaticamente da Deepl

Con 4D v16 R6 è stata introdotta la potenza dei moduli dinamici, che consentono di creare i moduli al volo costruendoli in un oggetto o caricandoli da un file di testo. Questo è molto comodo in un mondo in cui i moduli vengono modificati frequentemente per soddisfare le esigenze di un’applicazione.

In 4D, l’ordine di inserimento segue tipicamente un ordine z sia per i moduli binari che per quelli dinamici. Con 4D v17 R6, è ora possibile definire un ordine di inserimento che non è necessariamente associato all’ordine z.

Per ogni pagina della definizione del modulo, è disponibile l’attributo “objects”, che contiene un elenco di elementi del modulo disposti in base all’ordine z. È stato aggiunto un nuovo attributo“entryOrder“, che consente di specificare un ordine di inserimento personalizzato. Se questo attributo non è definito, 4D utilizzerà l’ordine z (l’ordine definito nell’attributo “objects”).

Ecco un esempio di modulo dinamico con due campi di input e un pulsante:

// Create inputs and button
$text1:=New object("type"; "input"; "top";20; "left";140; "width";100; "height";18)
$text2 :=New object("type"; "input"; "top";20; "left";20; "width";100; "height";18)
$button :=New object("type"; "button"; "text"; "OK"; "top";60; "left";140; "width";100; "height";20)

// Create entry order collection
$entryOrder :=New Collection("text2"; "text1")

// Create page with form objects and entry order
$page :=New object("objects";New object("text1";$text1; "text2";$text2; "button";$button); "entryOrder";$entryOrder)

// Create form
$form:=New object("pages"; New collection(Null;$page); "windowTitle"; "My form"; "rightMargin";20; "bottomMargin";20)

// Load the form
$w :=Open form window($form)
DIALOG ($form)

Questo può essere rappresentato come:

{
	"pages": [
		null,
		{
			"objects": {
				"text1": {
					"type": "input",
					"top": 20, "left": 140,
					"width": 100, "height": 18,
					"events": ["onClick"]
				},
				"text2": {
					"type": "input",
					"top": 20, "left": 20,
					"width": 20, "height": 18,
					"events": ["onClick"]
				},
				"button": {
					"type": "button",
					"text": "OK",
					"top": 60, "left": 140,
					"width": 20, "height": 20,
					"events": ["onClick"]
				}
			},
			"entryOrder": [
				"text2",
				"text1"
			]
		}
	]
}
Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.