How to add a new Widget to Live View?

Hallo zusammen,

im gesamten steht meine Frage bereits oben :slight_smile:

Würde mich über eine KLEINE Hilfestellung freuen!

Grüße !

Hallo Snowy,
ein guter Anhaltspunkt ist der Ordner /ui/src/app/edge/live.

Die Datei /ui/src/app/edge/live/live.component.html baut die Startseite auf.

Welcher Widget soll in die Live View aufgenommen werden? :slight_smile:

Viel Spaß
Lóránt

1 Like

Hallo,

ich habe schon ein wenig Erfahrung, aber im Endeffekt geht es um dieses Widget:

Grüße und danke ! :slight_smile:

1 Like

Okay,

hab es nun mit ein paar Anpassungen zum laufen gebracht, ist es möglich im UI die App nur anzeigen zu lassen, wenn man Sie “benötigt” ?

Grüße !

Hi,
es freut mich, dass du weitergekommen bist! :slight_smile:

Deine Formulierung ist auch in Anführungszeichen. Wann würde man so einen Widget genau benötigen?

Du könntest eine Konfiguration in Edge aufnehmen, um dein Widget je nach Bedarf anzuzeigen.

1 Like

Hallo,

ja, ich hab das Widget von dem Pull Request aus Git hinzugefügt - würde das gerne aber nur anzeigen lassen, wenn der User es benötigt (installierbar machen).

Wie gehe ich da denn vor?

Hallo

Ich kann Dir nach zwei Wochen eigener Erfahrung Folgendes sagen:

in live.component.html werden eigene Widgets genau dann angezeigt, wenn ein entsprechendes eigenes Edge-Modul aktiviert wurde (z.B: über Felix). Deaktivierte oder nicht vorhandene Module werden nicht angezeigt.

  1. Siehst Du Dein Edge-Modul in Felix?
    ==> Dann instanziere bzw. aktiviere es in Felix

  2. UI: Füge einen Eintrag in widget.ts hinzu:
    ==> Widgets.WidgetFactory { … ,‘Mein.Neues.Modul’ }

  3. UI: In live.module.ts fügst Du einen import für die .ts-Datei hinzu in der “MeinNeuesModul” definiert ist, und für den Klassnnamen “MeinNeuesModul” einen Eintrag in @NgModule.declarations

  4. UI: Schau Dir die <*ngFor> Schleife in live.component.html an.
    Im unteren Teil geht die Schleife über widgets.list[]. In diesem Array steckt der Bezeichner ‘Mein.Neues.Modul’.

Wenn Du über ein <*ngIf> darauf reagierst, kannst Du Deine Angular-Klasse “MeinNeuesModul” instanzieren.