• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 410.3k 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.
  • P Offline
    Perlchamp
    last edited by May 3, 2020, 12:45 AM

    doesn’t work (black screen) yet, BUT:

    1. the classes set in “” ?
    2. no use of appendchild ?
    3. the wrapper set in “” ?

    i did :

    1. no
    2. correct
    3. no

    question:
    get i problems with this.create… because of “var self = this” ?

    1 Reply Last reply Reply Quote 0
    • P Offline
      Perlchamp
      last edited by May 3, 2020, 12:49 AM

      my code (only table):

      	    // create table
      	    var wrapper = this.createEl('table', "birthday-table", table , 0)
      	    //var wrapper = document.createElement("table");
      	    //wrapper.className = 'table'; 
      	    //wrapper.id = 'birthday-table';
      
      	    // create header
      	    var tHeader = this.createEl('thead', "birthday-thead", thead , wrapper)
      	    //var tHeader = document.createElement("thead");
      	    //tHeader.className = "thead";
      	    //tHeader.id = "birthday-thead";
      
      	    var headerTR = this.createEl('tr', "birthday-tr-head", tr-head , tHeader)
      	    //var headerTR = document.createElement("tr");
      	    //headerTR.className = "tr-head";
      	    //headerTR.id = "birthday-tr-head";			    
      
      	    var headerTH = document.createElement("th");
      	    //var headerTH = this.createEl('th', "birthday-th-head", th-head , headerTR)
      	    headerTH.colSpan = "2";
      	    headerTH.scope = "col";
      	    headerTH.innerHTML = " ";
      	    //headerTH.className = "th-head";
      	    //headerTH.id = "birthday-th-head";
      	    
      	    //headerTR.appendChild(headerTH);
      	    //tHeader.appendChild(headerTR);
      	    //wrapper.appendChild(tHeader);
      		    
      	    // Create TFOOT section -- currently used for debugging only
      	    var tFooter = this.createEl('tfoot', "birthday-tfood", tfoot , wrapper)
      	    //var tFooter = document.createElement('tfoot');
      	    //tFooter.className = "tfoot";
      	    //tFooter.id = "birthday-tfoot";
      
      	    //var footerTR = document.createElement("tr");
      	    var footerTR = this.createEl('tr', "birthday-tf-foot", tr-foot , tFooter)
      	    //footerTR.className = "tr-foot";
      	    //footerTR.id = "birthday-tr-foot";
      
      	    //var footerTD = document.createElement("td");
      	    var footerTD = this.createEl('td', "birthday-td-foot", td-foot , footerTR)
      	    footerTD.colSpan ="2";
      	    //footerTD.className = "td-foot";
      	    //footerTD.id = "birthday-td-foot";
      	    if (this.config.debugging) {
      		footerTD.innerHTML = "Birthdaylist is currently in DEBUG mode! < br / > Please see console log.";
      	    }
      	    else {
      		footerTD.innerHTML = "&nbsp;";
      	    }
      
      	    //footerTR.appendChild(footerTD);
      	    //tFooter.appendChild(footerTR);
      	    //wrapper.appendChild(tFooter);
      
      	    // create TBODY section with day names
      	    var tBody = this.createEl('tBody', "birthday-tbody", tbody , wrapper)
      	    //var tBody = document.createElement("tBody");
      	    //tBody.className = "tbody";
      	    //tBody.id = "birthday-tbody";
      	    
      	    for(var birthday of Object.keys(this.active_birthdays)) {
      		for(var person of this.active_birthdays[birthday]) {
      				
      		    //var m = document.createElement('div');
      				
      		    // create looped row section
      		    var bodyTR = this.createEl('tr', "birthday-tr-body", tr-body , tBody)
      		    //var bodyTR = document.createElement("tr");
      		    //bodyTR.className = "tr-body";
      		    //bodyTR.id = "birthday-tr-body";
      
      		    var bodyTDimage = this.createEl('td', "birthday-td-image", td-image , bodyTR)
      		    //var bodyTDimage = document.createElement("td");
      		    //bodyTDimage.className = "td-image";
      		    //bodyTDimage.id = "birthday-td-image";
      		    if (birthday.charAt(0) === "0") {
      			birthday = birthday.replace("0","");
      			birthday = birthday.substring(0,1);
      		    }
      		    bodyTDimage.innerHTML = birthday.substring(0,2);
      
      		    var bodyTD = this.createEl('td', "birthday-td-body", td-body , bodyTDimage)
      		    //var bodyTD = document.createElement("td");
      		    //bodyTD.className = "td-body";
      		    //bodyTD.id = "birthday-td-body";
      		    bodyTD.innerHTML = person.name + "&nbsp;&nbsp;&nbsp; < span class=\"age-span\" > " + person.age + " < /span > ";
      		    				
      		    //m.innerText = birthday + ' ' + person.name + ' age=' + person.age;
      		    //wrapper.appendChild(m);
      		    
      		    //bodyTR.appendChild(bodyTDimage);
      		    //bodyTR.appendChild(bodyTD);
      		    //tBody.appendChild(bodyTR);
      		    //wrapper.appendChild(tBody);
      		    
      		}
      	    }
      
      
      S 1 Reply Last reply May 3, 2020, 12:50 AM Reply Quote 0
      • S Offline
        sdetweil @Perlchamp
        last edited by sdetweil May 3, 2020, 12:51 AM May 3, 2020, 12:50 AM

        @Perlchamp all except parent in quotes

        tables parent is wrapper, wrappers parent is null/0

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        S 1 Reply Last reply May 3, 2020, 12:52 AM Reply Quote 0
        • P Offline
          Perlchamp
          last edited by May 3, 2020, 12:52 AM

          wrapper in quotes , too ?

          S 1 Reply Last reply May 3, 2020, 12:55 AM Reply Quote 0
          • S Offline
            sdetweil @sdetweil
            last edited by sdetweil May 3, 2020, 12:54 AM May 3, 2020, 12:52 AM

            @sdetweil if there is no data, then you still need to return something (empty div)

            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 @Perlchamp
              last edited by May 3, 2020, 12:55 AM

              @Perlchamp wrapper is a div type, no id,class or parent

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • P Offline
                Perlchamp
                last edited by May 3, 2020, 1:02 AM

                my code now does not work:

                            // create table
                	    var wrapper = this.createEl('table', "birthday-table", table , 0)
                	    
                	    // create header
                	    var tHeader = this.createEl('thead', "birthday-thead", thead , "")
                	    var headerTR = this.createEl('tr', "birthday-tr-head", tr-head , "tHeader")
                	    var headerTH = this.createEl('th', "birthday-th-head", th-head , "headerTR")
                	    headerTH.colSpan = "2";
                	    headerTH.scope = "col";
                	    headerTH.innerHTML = "&nbsp;";
                	        
                	    // Create TFOOT section -- currently used for debugging only
                	    var tFooter = this.createEl('tfoot', "birthday-tfood", tfoot , "")
                	    var footerTR = this.createEl('tr', "birthday-tf-foot", tr-foot , "tFooter")
                	    var footerTD = this.createEl('td', "birthday-td-foot", td-foot , "footerTR")
                	    footerTD.colSpan ="2";
                	    if (this.config.debugging) {
                		footerTD.innerHTML = "Birthdaylist is currently in DEBUG mode! < br / > Please see console log.";
                	    }
                	    else {
                		footerTD.innerHTML = "&nbsp;";
                	    }
                
                	    // create TBODY section with day names
                	    var tBody = this.createEl('tBody', "birthday-tbody", tbody , "")
                	    
                	    for(var birthday of Object.keys(this.active_birthdays)) {
                		for(var person of this.active_birthdays[birthday]) {
                				
                		    // create looped row section
                		    var bodyTR = this.createEl('tr', "birthday-tr-body", tr-body , "tBody")
                		    var bodyTDimage = this.createEl('td', "birthday-td-image", td-image , "bodyTR")
                		    if (birthday.charAt(0) === "0") {
                			birthday = birthday.replace("0","");
                			birthday = birthday.substring(0,1);
                		    }
                		    bodyTDimage.innerHTML = birthday.substring(0,2);
                		    var bodyTD = this.createEl('td', "birthday-td-body", td-body , "bodyTDimage")
                		    bodyTD.innerHTML = person.name + "&nbsp;&nbsp;&nbsp; < span class=\"age-span\" > " + person.age + " < /span > ";
                		    				
                		}
                	    }
                
                S 1 Reply Last reply May 3, 2020, 1:04 AM Reply Quote 0
                • S Offline
                  sdetweil @Perlchamp
                  last edited by sdetweil May 3, 2020, 1:07 AM May 3, 2020, 1:04 AM

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

                  ", thead ,

                  again all classes in quotes, ONLY parent NOT in quotes

                   var wrapper = this.createEl('table', "birthday-table", "table" , null)
                  	    var tHeader = this.createEl('thead', "birthday-thead", "thead" , wrapper )
                  	    var headerTR = this.createEl('tr', "birthday-tr-head", "tr-head" , tHeader)
                  	    var headerTH = this.createEl('th', "birthday-th-head", "th-head" , headerTR)
                  

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • P Offline
                    Perlchamp
                    last edited by May 3, 2020, 1:14 AM

                    does not work for me. complete getDom and your createEl :

                        createEl(type, id, class, parent){
                    	var el = document.createElement(type);
                    	el.id = id;
                    	if(class); 
                    	el.classname = class;
                    	parent.addChild(el);
                    	return el;
                        },
                    
                        getDom: function() {
                    	var self = this;
                    	var wrapper = document.createElement("div");
                    		
                    	Log.log(JSON.stringify(this.active_birthdays))
                    
                    	if ((moment() > this.midnight) || (!this.loaded)) {
                    	    var month = moment().month();
                    	    var year = moment().year();
                    	    var monthName = moment().format("MMMM");
                    	    var monthLength = moment().daysInMonth();
                    
                    	    // create table
                    	    var wrapper = this.createEl("table", "birthday-table", "table" , null)
                    	    
                    	    // create header
                    	    var tHeader = this.createEl('thead', "birthday-thead", "thead" , wrapper)
                    	    
                    	    var headerTR = this.createEl('tr', "birthday-tr-head", "tr-head" , tHeader)
                    	    var headerTH = this.createEl('th', "birthday-th-head", "th-head" , headerTR)
                    	    headerTH.colSpan = "2";
                    	    headerTH.scope = "col";
                    	    headerTH.innerHTML = "&nbsp;";
                    	        
                    	    // Create TFOOT section -- currently used for debugging only
                    	    var tFooter = this.createEl('tfoot', "birthday-tfood", "tfoot" , wrapper)
                    	    var footerTR = this.createEl('tr', "birthday-tf-foot", "tr-foot" , tFooter)
                    	    
                    	    var footerTD = this.createEl('td', "birthday-td-foot", "td-foot" , footerTR)
                    	    footerTD.colSpan ="2";
                    	    if (this.config.debugging) {
                    		footerTD.innerHTML = "Birthdaylist is currently in DEBUG mode!<br />Please see console log.";
                    	    }
                    	    else {
                    		footerTD.innerHTML = "&nbsp;";
                    	    }
                    
                    	    // 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", "tr-body" , tBody)
                    		    var bodyTDimage = this.createEl('td', "birthday-td-image", "td-image" , bodyTR)
                    		    if (birthday.charAt(0) === "0") {
                    			birthday = birthday.replace("0","");
                    			birthday = birthday.substring(0,1);
                    		    }
                    		    bodyTDimage.innerHTML = birthday.substring(0,2);
                    
                    		    var bodyTD = this.createEl('td', "birthday-td-body", "td-body" , bodyTDimage)
                    		    bodyTD.innerHTML = person.name + "&nbsp;&nbsp;&nbsp; < span class=\"age-span\" > " + person.age + " < /span > ";
                    		    				
                    		}
                    	    }
                    
                    	    return wrapper;
                    
                    	}
                    	
                    	this.loaded = true;
                    
                    	    }
                        },
                    
                    S 1 Reply Last reply May 3, 2020, 1:17 AM Reply Quote 0
                    • S Offline
                      sdetweil @Perlchamp
                      last edited by sdetweil May 3, 2020, 1:20 AM May 3, 2020, 1:17 AM

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

                      	    // create table
                      	    var table = this.createEl("table", "birthday-table", "table" , wrapper)
                      	    
                      	    // create header
                      	    var tHeader = this.createEl('thead', "birthday-thead", "thead" , table)
                      	    
                      	    var headerTR = this.createEl('tr', "birthday-tr-head", "tr-head" , tHeader)
                      	    var headerTH = this.createEl('th', "birthday-th-head", "th-head" , headerTR)
                      	    headerTH.colSpan = "2";
                      	    headerTH.scope = "col";
                      	    headerTH.innerHTML = " ";
                      	        
                      	    // Create TFOOT section -- currently used for debugging only
                      	    var tFooter = this.createEl('tfoot', "birthday-tfood", "tfoot" , table)
                      	    var footerTR = this.createEl('tr', "birthday-tf-foot", "tr-foot" , tFooter)
                      	    
                      	    var footerTD = this.createEl('td', "birthday-td-foot", "td-foot" , footerTR)
                      	    footerTD.colSpan ="2";
                      	    if (this.config.debugging) {
                      		footerTD.innerHTML = "Birthdaylist is currently in DEBUG mode!< br />Please see console log.";
                      	    }
                      	    else {
                      		footerTD.innerHTML = " ";
                      	    }
                      
                      	    // create TBODY section with day names
                      	    var tBody = this.createEl('tBody', "birthday-tbody", "tbody" , table)
                      	    
                      	    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", "tr-body" , tBody)
                      		    var bodyTDimage = this.createEl('td', "birthday-td-image", "td-image" , bodyTR)
                      		    if (birthday.charAt(0) === "0") {
                      			birthday = birthday.replace("0","");
                      			birthday = birthday.substring(0,1);
                      		    }
                      		    bodyTDimage.innerHTML = birthday.substring(0,2);
                      
                      		    var bodyTD = this.createEl('td', "birthday-td-body", "td-body" , bodyTDimage)
                      		    bodyTD.innerHTML = person.name + "    < span class=\"age-span\" > " + person.age + " < /span > ";
                      		    				
                      		}
                      	    }
                      

                      what the html fragments with the < and space, they don’t work if there is a space there, need it for the forum, but won’t actually work

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      S 2 Replies Last reply May 3, 2020, 1:21 AM Reply Quote 0
                      • 1
                      • 2
                      • 28
                      • 29
                      • 30
                      • 31
                      • 32
                      • 32 / 32
                      32 / 32
                      • First post
                        242/313
                        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