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.

    read csv-data and put it in an array

    Scheduled Pinned Locked Moved Utilities
    313 Posts 3 Posters 440.2k Views 4 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.
    • S Offline
      sdetweil @sdetweil
      last edited by

      @sdetweil said in read csv-data and put it in an array:

        headerTH.innerHTML = " ";
      

      all things are empty when created, so don’t need this

      Sam

      How to add modules

      learning how to use browser developers window for css changes

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

        @sdetweil said in read csv-data and put it in an array:

          else {
          footerTD.innerHTML = " ";
          }
        

        don’t need this

        Sam

        How to add modules

        learning how to use browser developers window for css changes

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

          fixed createEl routine

          createEl : function (type, id, className, parent){
          
          	var el= document.createElement(type)
          	if(id)
          		el.id=id
          	if(className)
          		el.className=className
          	if(parent)
          		parent.appendChild(el)
          	return el
          
          },
          

          Sam

          How to add modules

          learning how to use browser developers window for css changes

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

            new getDom(), without header or footer

            	getDom: function() {
            		var wrapper = this.createEl("div",null,null,null);
            
            		if(Object.keys(this.active_birthdays).length>0){
            
            			// create your table and header here
            		    // create TBODY section with day names
            		    var tBody = this.createEl("tBody", "birthday-tbody", "tbody", wrapper );	
            
            			for(var birthday of Object.keys(this.active_birthdays)){
            				for(var person of this.active_birthdays[birthday]){
            			
            				    var bodyTR = this.createEl("tr", "birthday-tr-body",null, tBody);
            
            					    var bodyTDimage = this.createEl("td","birthday-td-image", null, bodyTR );
            
            					    	bodyTDimage.appendChild(document.createTextNode(birthday));
            
            					    var bodyTD = this.createEl("td", "birthday-td-body", null, bodyTR );
            
            							bodyTD.appendChild(document.createTextNode(person.name));
            			
            					     
            						var ageTD = this.createEl("td","birthday-td-age", null, bodyTR  );
            			 
            					    	ageTD.appendChild(document.createTextNode(person.age)); 
            
            				}
            			}
            		}
            // create your table footer here	
            
            		// pass the created content back to MM to add to DOM.
            		return wrapper;
            	}
            

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • PerlchampP Offline
              Perlchamp
              last edited by Perlchamp

              the classes are not addressed :
              image
              … without header and footer.
              why the classes are null ?

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

                @Perlchamp sorry, typo
                className with upper case

                	createEl : function (type, id, className, parent, value){
                
                		var el= document.createElement(type)
                		if(id)
                			el.id=id
                		if(className)
                			el.className=className
                		if(parent)
                			parent.appendChild(el)
                		if(value)
                			el.appendChild(document.createTextNode(value))
                		return el
                
                	},
                

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • PerlchampP Offline
                  Perlchamp
                  last edited by

                  i set the classes in uppercase, allthough in the css-file. but the classes are not adressed.
                  by the way. maybe there is a problem with TWO cells in a row, because the daynumbers are OVER the names. if you look at the picture i send before (not the last post), than you can see, that the daynumbers are in ONE row with the names …

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

                    @Perlchamp well, part of the problem is the ID of the cells is the same for each row… removing id and class (which I don’t have)
                    works

                    cells don’t NEED ids… but if u wanted, you would have to create a counter to append each loop to make the ids unique

                    new createEl which does text value too

                    	createEl : function (type, id, className, parent, value){
                    
                    		var el= document.createElement(type)
                    		if(id)
                    			el.id=id
                    		if(className)
                    			el.className=className
                    		if(parent)
                    			parent.appendChild(el)
                    		if(value)
                    			el.appendChild(document.createTextNode(value))
                    		return el
                    
                    	},
                    

                    and table header

                    	createTableHeader: function(parent, className, columnlabels){
                    
                    		var header = document.createElement("tr")
                    		for(columnName of columnlabels){
                    			this.createEl("th",null,className, header,columnName)
                    		}
                    		parent.appendChild(header)
                    		return header
                    	},
                    

                    getdom()

                    	// this is the major worker of the module, it provides the displayable content for this module
                    	getDom: function() {
                    		var wrapper = this.createEl("div",null,null,null);
                    
                    		if(Object.keys(this.active_birthdays).length>0){
                    
                    			// create your table  here
                    			var table = this.createEl("table", "birthday-table", null, wrapper );
                    
                    			// table header here, array of column names
                    			var table_header=this.createTableHeader(table, null, ["date","Name","age"])
                    
                    		    // create TBODY section with day names
                    		    var tBody = this.createEl("tBody", "birthday-tbody", null, table );	
                    
                    			for(var birthday of Object.keys(this.active_birthdays)){
                    				for(var person of this.active_birthdays[birthday]){
                    			
                    				    var bodyTR = this.createEl("tr", null,null, tBody);
                    
                    					    var bodyTDimage = this.createEl("td",null, null, bodyTR , birthday );
                    
                    					    var bodyTD = this.createEl("td", null, null, bodyTR , person.name);
                    					     
                    						var ageTD = this.createEl("td",null, null, bodyTR  ,person.age );
                    
                    				}
                    			}
                    		}
                    // create your table footer here	
                    
                    		// pass the created content back to MM to add to DOM.
                    		return wrapper;
                    	}
                    

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • PerlchampP Offline
                      Perlchamp
                      last edited by

                      ok, i’ve seen, the header function … uff, all is placed right (code).
                      i don’t see the day of birth. the first cell is still the problem :-(

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

                        @Perlchamp with my code I see
                        I removed class
                        date Name age
                        12.05 Sam 69
                        02.05 Frank 81
                        02.05 Sue 81
                        05.05 mary 65
                        10.05 eee EEEEE 51
                        16.05 fff FFFFF 8
                        16.05 ggg GGGGG 32
                        27.05 hhh HHHHH 18

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 28
                        • 29
                        • 30
                        • 31
                        • 32
                        • 31 / 32
                        • 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