MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Getting API data in table

    Scheduled Pinned Locked Moved Development
    7 Posts 3 Posters 2.5k Views 3 Watching
    Loading More Posts
    • 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.
    • htilburgsH Offline
      htilburgs
      last edited by

      @sdetweil, so what you’re saying is continu as I’m started with table, row, cells manual?

      I was hoping something in the next style would work.

         for (i = 0; i < this.MWB.length; i++) {
      	var MWB = this.MWB[i];
      

      and combining this with the text of the result. But I can’t figure it out.

      (still trying to learn JS, but not afraid to ask and AI is my best friend) ☺

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @htilburgs
        last edited by sdetweil

        @htilburgs well, thinking something like this , same work, less actual code, more readable

        // create elements... take an object in as parms, makes it easier to understand
          // what is supplied vs not
          newElement: function(parms_object ){
          var e=null;    
          switch(parms_object.type){
             case 'table':        
                e=document.createElement('table');
             break;
             case 'row':
                e=document.createElement('tr');        
             break;
             case 'column':
                e=document.createElement('td');   
             break;
          }
          if(parms_object.classname !== undefined)
             e.className=parms_object.classname;
          if (parms_object.value !== undefined)     
             e.innerHTML = parms_object.value       
          if(parms_object.parent !== undefined)
             (parms_object.parent).appendChild(e)
          return e;
        },
        
        getDom: function(){
          var wrapper = document.createElement("div");
          var table = this.newElement({type:'table'}) // note here, just type specified, to test code above
          
          // repeat the rows/columns block as needed  maybe in a loop as well.. 
         
          // get the list of items in the object
          for(item_name of Object.keys(this.MBW)){  // i think this returns keys in position order, not alphabetical
            var row=this.newElement({type:"row",classname:"temperatuur-row",parent:table})  
            // add a column for the data item name
            this.newElement({parent:row, type:"column",classname:"small",value:item_name}) // parms in any order
            // get the data for the item
            let item_value= this.MBW[item_name]
            this.newElement({type:"column",classname:"small",value:item_value,parent:row})
          }
          wrapper.appendChild(table)
          return wrapper
        }  
        

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        htilburgsH 1 Reply Last reply Reply Quote 0
        • htilburgsH Offline
          htilburgs @sdetweil
          last edited by

          @sdetweil Thank you for the reply. I’m going to play with it and see which kind suited me the best.

          (still trying to learn JS, but not afraid to ask and AI is my best friend) ☺

          S 1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil @htilburgs
            last edited by

            @htilburgs by using a routine to do the element create->parent.append() you reuse one copy of the code, instead of the tedious copy/paste/edit/fix cycle…

            some people use div/span/span/span instead of table… this routine will work the same with two case statements added, so you can use div and span instead of tr/td

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            B 1 Reply Last reply Reply Quote 0
            • B Offline
              bachoo786 @sdetweil
              last edited by

              @sdetweil hi did you make a table then? where did you put your java code? i.e. which file?

              1 Reply Last reply Reply Quote 0
              • 1 / 1
              • First post
                Last post
              Enjoying MagicMirror? Please consider a donation!
              MagicMirror created by Michael Teeuw.
              Forum managed by Sam, technical setup by Karsten.
              This forum is using NodeBB as its core | Contributors
              Contact | Privacy Policy