Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Multiselect

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    209

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Multiselect

Multiselect

Scheduled Pinned Locked Moved Entwicklung
7 Posts 2 Posters 2.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    siedi
    wrote on last edited by
    #1

    Hi,

    arbeite gerade an einem Multiselect im selectDialog. Ausserdem dass auch Objekte, die keine States sind, ausgewählt werden können (wichtig für die Raumzuordnung, klick mich sonst zu tote).

    Frontendseitig schaut das soweit schon ganz gut aus. Fancytree is angepasst (bzw. die Optionen). Der callback für das Selektieren (select statt activate) hinzugefügt.

    434_multiselect.png

    Jetzt steht natürlich die größte Hürde an, das Speichern der selektierten IDs. Ein einfaches````
    _data.selectedID = newIds;

    
    Wahrscheinlich kann mir nur Bluefox einen Tipp geben, wäre sehr dankbar.
    
    LG
    
    Siedi
    1 Reply Last reply
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      wrote on last edited by
      #2

      Wie seht dein newIds aus? ["id1", "id2", "id3"] ?

      Und was willst du damit machen? Einen Raum zuordnen?

      1 Reply Last reply
      0
      • S Offline
        S Offline
        siedi
        wrote on last edited by
        #3

        @Bluefox:

        Wie seht dein newIds aus? ["id1", "id2", "id3"] ? `

        Ja, so kann ich es formatieren (derzeit ist es noch das Object us dem Fancytree).

        @Bluefox:

        Und was willst du damit machen? Einen Raum zuordnen? `

        Genau.
        979_command.jpg

        1 Reply Last reply
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          wrote on last edited by
          #4

          @siedi:

          @Bluefox:

          Wie seht dein newIds aus? ["id1", "id2", "id3"] ? `

          Ja, so kann ich es formatieren (derzeit ist es noch das Object us dem Fancytree).

          @Bluefox:

          Und was willst du damit machen? Einen Raum zuordnen? `

          Genau. `

          var IDs = ['id1', 'id2'];
          
          function addToRoom(IDs, room) {
          	// read enum
          	main.socket.emit('getObject', 'enum.rooms.' + room, function (err, obj) {
          		if (err) return main.showError(err);
          
          		if (obj && obj.common) {
          			obj.common.members = obj.common.members || [];
          			var changed = false;
          
          			// add all IDs, but check if yet consist
          			for (var id = 0; id < IDs.length; id++) {
          				if (obj.common.members.indexOf(IDs[id]) == -1) {
          					changed = true;
          					obj.common.members.push(IDs[id]);
          				}
          			}
          			// if something changed
          			if (changed) {
          				// write new settings
          				main.socket.emit('setObject', 'enum.rooms.' + room, obj, function (err) {
          					if (err) return main.showError(err);
          				});
          			}
          		}
          	});
          }
          
          addToRoom(IDs, 'DEIN_RAUM');
          

          Es kann sein, dass du statt "main" das "that.main" benutzen solltest. Das hängt davon ab wo du es aufrufst.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            siedi
            wrote on last edited by
            #5

            Hi Bluefox.

            danke für deinen Vorschlag. Hab das jetzt mal direkt im admin.js / selectID.js des admin Moduls implementiert und einen Pull request dafür erstellt:

            https://github.com/ioBroker/ioBroker.admin/pull/46

            Leider weiss ich nicht, ob und wie die selectID.js auch in anderen Modulen verwendet wird. Ggf. lässt sich der Aufruf auch parametrisieren, so dass je nach Bedarf das Multiselect zur Verfügung gestellt wird oder nicht.

            Würd mich über dein Feedback freuen.

            LG

            Siedi

            siedi opened this pull request in ioBroker/ioBroker.admin

            closed implement multiselect for selectID tree #46

            1 Reply Last reply
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              wrote on last edited by
              #6

              Super!!!! Es funktioniert. !! 😄

              Danke. 🙂

              Weiter so 🙂

              1 Reply Last reply
              0
              • S Offline
                S Offline
                siedi
                wrote on last edited by
                #7

                Super, danke!

                Musste allerdings noch zwei kleine Bugfixes vornehmen, hab noch mal ein Pull request erstellt.

                https://github.com/ioBroker/ioBroker.admin/pull/47

                siedi opened this pull request in ioBroker/ioBroker.admin

                closed Fix: selectID when reloading #47

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                91

                Online

                32.4k

                Users

                81.3k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe