Builder

Builder est la classe principale de Unified Builder.

import {Builder} from "@adlcz/unifiedbuilder/builder"

🏗️ Constructeur

Builder.prototype.constructor = (EntryComponent: entryComponent<any>, Hmi: Hmi, Options?: Partial<BuilderOptions>) => Builder

EntryComponent

Vous fournissez un entryComponent dans le constructeur.
Ce composant est le point central de votre application.

Pour en savoir plus, référez vous à la section Composants.

Hmi

Objet Hmi qui réprésente l'hmi dans TiaPortal sur laquelle UnifiedBuilder va compiler vos données.

Options

interface BuilderOptions {
    AutoNaming: boolean
    ForceOverride: boolean
}

BuilderOptions est un objet optionnel donnant des directives à Manager lors de la compilation.

AutoNaming permet de renommer tous les objets si ceci ont un nom qui apparaît plusieurs fois.
Par exemple, si un écran possède 2 boutons possédant le même nom, le second boutons sera renommé Bouton_1.

La désactivation de ce paramètre sous-entend que vous vous assurez du nommage de vos Items / Screens.
Si plusieurs éléments possèdent le même nom, seul le dernier sera compilé.

ForceOverride indique que toutes les données déjà existantes dans TiaPortal peuvent être écrasés.

Ce paramètre s'appkique à tout ce que compile Fever, Items, Screens, Tables....
Autrement dit son acivation écrasera les données déjà existantes de façon définitivees si vous enregistrez le projet apres que Unified Builder ait fini de compiler.

Exemple

      

import {Builder, entryComponent} from "@adclz/unifiedbuilder/builder"
import {Hmi} from "@adclz/fevertypes/devices"
 
const MyEntryComponent: entryComponent<void> = {
Props: undefined,
Template: "",
Data: {}
}
 
const MyHmi = new Hmi("Uid", "MyHmi", "OrderNumber:6AV2 128-3GB06-0AX0", )
const MyBuilder = new Builder(MyEntryComponent, MyHmi, {AutoNaming: true, ForceOverride: true})
const MyBuilder: Builder
 

📜 Champs

EntryScreen

Builder.prototype.EntryScreen = ScreenData

Ce champ représente les valeurs de l'écran principal.
Builder charge des valeurs par défaut pour ce champ.

Référez vous à la section Screen pour en savoir plus.

TagTables

Builder.prototype.TagTables = Table

Permet de définir les variables Hmi.

Référez vous à la section Tags pour en savoir plus.

🧪 Méthodes

Build

Builder.prototype.Build = (Div: HTMLDivElement) : void

Cette méthode permet de faire le rendu de votre application.
Vous devez fournir un HTMLDIVElement que Unified Builder utilisera afin d'effectuer le rendu.

LoadScreen

Builder.prototype.LoadScreen = (Screen: number) : void

Charge un écran dans le rendu de votre application.
L'HTMLDIVElement que vous avez choisi dans le champ Build prendra la forme du numéro de l'écran que vous avez passé en paramètre.

JsonData

Builder.prototype.JsonData = async () => Promise<HmiSource>

Compile toutes vos données sous la forme d'uh object JSON que vous pouvez envoyer à Manager. Cette méthode retourne une promesse.

ScaleBy

Builder.prototype.ScaleBy = (ScaleBy: number) => void

Redimensionne la vue en utilisant la propriété css transform.

Cet effet n'est que visuel, il n'influe pas sur la position et la taille des éléments lors de la compilation.
De plus la position de la vue sera toujours la même dans le DOM.