Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter Settings soll weitere Config States hinzufügen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter Settings soll weitere Config States hinzufügen

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jlssmt last edited by

      Hallo zusammen,

      ich habe mich mal an meinen ersten Adapter gewagt.
      Komme von der Angular Front und daher das create-adapter script mit React und Typescript initialisiert.
      Komme gut voran, aber ich habe ein essenzielles Problem.
      Ich würde gerne im Frontend also den Adapter-Einstellungen eine Liste implementieren, welche sich durch einen Klick auf den "+" Button um eine Zeile erweitert.
      Das sieht man ja in so manchen Adaptern, aber leider kann ich dort nicht abschauen, weil dort alles in jQuery o.ä. implementiert wurde.

      Ich hätte gerne so ein Interface für die Settings:

      interface AdapterConfig {
        option1: boolean;
        items: [
          {
            productName: string;
            url: string;
            keyword: string;
          }
        ]
      }
      

      Und dann eben pro Zeile ein this.config.items.push(newItem); bzw. halt direkt einen bind vom input value auf die config.

      Leider bekomme ich das nicht hin, da im Template das hier vorgegeben ist:

      <TextField value={this.props.native[attr]}>...</TextField>
      

      Ich frage mich wie ich jetzt das items array in meine adapter.config bekomme, damit es als "setting" dauerhaft bestehen bleibt.
      Ist das so grob verständlich? Ich denke ich brauch nur ne kleine Hilfe.

      Adapter bzw. settings.tsx file ist hier: https://github.com/jlssmt/ioBroker.product-alert/blob/master/admin/src/components/settings.tsx

      UncleSam AlCalzone 2 Replies Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @jlssmt last edited by

        @jlssmt Ich bin leider auf dem Handy und kann dir nicht alle Details schreiben, aber schau dir mal meinen Adapter an, dort mache ich genau das:
        https://github.com/UncleSamSwiss/ioBroker.i2c/tree/master/admin/src

        Es gibt mehrere Devices und die werden durch die Antwort von sendTo hinzugefügt.

        1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer @jlssmt last edited by

          @jlssmt Dein Anwendungsfall ist etwas komplizierter als die vorgegebenen Standardfälle.

          Im Grunde brauchst du eine extra Component für die Items, die statt dem TextField für jedes Item gerendert wird (musst du schreiben). Und in dieser Component dann eben 3 Textfelder, die du an productName, url und keyword des jeweiligen Items bindest.

          J 1 Reply Last reply Reply Quote 0
          • J
            jlssmt @AlCalzone last edited by jlssmt

            @UncleSam
            Hat mir sehr geholfen, danke dir 😉

            @alcalzone
            Danke, bin jetzt schon weitergekommen.
            Das "any" bei onChange: (attr: string, value: any) => void; hatte ich übersehen.
            Damit kann ich mir ein Object[] in die config schieben 😉

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            482
            Online

            31.7k
            Users

            79.8k
            Topics

            1.3m
            Posts

            3
            4
            177
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo