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 439.8k 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.
    • PerlchampP Offline
      Perlchamp
      last edited by Perlchamp

      width:27px; is placed in css
      but this:

      //bodyTDimage.id = "birthday-td-image";
      

      works. i really have to write html-text in the module-file ?

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

        @Perlchamp eh? commenting out a line?

        have a th is the same as what you have document.createElement(“th”)

        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

          wrong line, moment:

          //bodyTDimage.className = "td-image";
          

          this works, but unformatted, of course

          i don’t like things like:
          innerHTLM = tags, tags, tags …

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

            @Perlchamp eh? where is that?

            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

              getDom:

                  getDom: function() {
              	var self = this;
              	var wrapper = document.createElement("div");
              		
              	// tell MM to call and get our content
              	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 = document.createElement("table");
              	    wrapper.className = 'table'; 
              	    wrapper.id = 'birthday-table';
              
              	    // create header
              	    var tHeader = document.createElement("thead");
              	    tHeader.className = "thead";
              	    tHeader.id = "birthday-thead";
              
              	    var headerTR = document.createElement("tr");
              	    headerTR.className = "tr-head";
              	    headerTR.id = "birthday-tr-head";			    
              
              	    var headerTH = document.createElement("th");
              	    headerTH.colSpan = "2";
              	    headerTH.scope = "col";
              	    headerTH.className = "th-head";
              	    headerTH.id = "birthday-th-head";
              	    headerTH.innerHTML = " ";
              	    
              	    headerTR.appendChild(headerTH);
              	    tHeader.appendChild(headerTR);
              	    wrapper.appendChild(tHeader);
              		    
              	    // Create TFOOT section -- currently used for debugging only
              	    var tFooter = document.createElement('tfoot');
              	    tFooter.className = "tfoot";
              	    tFooter.id = "birthday-tfoot";
              
              	    var footerTR = document.createElement("tr");
              	    footerTR.className = "tr-foot";
              	    footerTR.id = "birthday-tr-foot";
              
              	    var footerTD = document.createElement("td");
              	    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 = 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 = document.createElement("tr");
              		    bodyTR.className = "tr-body";
              		    bodyTR.id = "birthday-tr-body";
              
              		    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.innerText = birthday.substring(0,2);
              
              		    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);
              		    
              		}
              	    }
              
              	    // pass the created content back to MM to add to DOM.
              	    return wrapper;
              
              	}
              	
              	this.loaded = true;
              
              /*
              			
              
              
              //		var bodyAgeSpan = document.createElement("span");
              //		bodyAgeSpan.className = "age-span";
              //		bodyAgeSpan.id = "birthday-age-span";
              //		bodyAgeSpan.innerHTML = "&nbsp;&nbsp;46";
              //		bodyTD.appendChild(bodyAgeSpan);
              		
              
              	    }
              */	
                  },
              
              S 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @Perlchamp
                last edited by sdetweil

                @Perlchamp fiddling with it here… technically you are supposed to have a text element as a child of the td

                < table>
                   < tr>
                      < td> value < /td>
                
                var n = document.createTextNode(value);
                
                

                Sam

                How to add modules

                learning how to use browser developers window for css changes

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

                  @Perlchamp

                  
                  			    var bodyTR = document.createElement("tr");
                  			   // bodyTR.className = "tr-body";
                  			    bodyTR.id = "birthday-tr-body";
                  			    tBody.appendChild(bodyTR);		    
                  
                  			    var bodyTDimage = document.createElement("td");
                  			   // bodyTDimage.className = "td-image";
                  			    bodyTDimage.id = "birthday-td-image";
                  			   // bodyTDimage.innerHTML = birthday;
                  			    bodyTR.appendChild(bodyTDimage);
                  			    bodyTDimage.appendChild(document.createTextNode(birthday));
                  
                  			    var bodyTD = document.createElement("td");
                  			   // bodyTD.className = "td-body";
                  			    bodyTD.id = "birthday-td-body";
                  			   // bodyTD.innerTEXT = person.name ;
                  				bodyTD.appendChild(document.createTextNode(person.name));
                  			    bodyTR.appendChild(bodyTD);		
                  			     
                  
                  				var ageTD = document.createElement("td");
                  			   // bodyTD.className = "td-body";
                  			    ageTD.id = "birthday-td-age";
                  			    //ageTD.innerTEXT = person.age ;	 
                  			    ageTD.appendChild(document.createTextNode(person.age)); 
                  			    bodyTR.appendChild(ageTD);		
                  

                  and set the class for the text element

                  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

                    you were too fast !!
                    to your information:
                    table needs a header (thead, tr, th) and a footer (tfoot, tr, td), and, of
                    course a boda (tbody, tr, td), my cose, where a put html-tags in the table and text without variable works fine.
                    but later, if i should dissapointed, i will try this.

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

                      @Perlchamp >where a put html-tags in the table

                      its exactly the same as writing the html

                      they don’t NEED a thead/tfoot, these are optional

                      you could create a big text string of the html < table>… < /table>
                      and then assign that text string to the wrapper div innerHTML.

                      same result…

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

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

                        @sdetweil when I had a big pile of html objects to create I wrote a little routine to hide the 4 lines per object

                        createEl(type, id, class, parent){
                           var el = document.createElement(type)
                           el.id=id
                           if(class) 
                             el.classname=class
                           parent.addChild(el)
                           return el
                        },
                        

                        then to use

                            var table= this.createEl('table', "birthday-tbody", null , wrapper)
                                    etc
                                    etc
                        

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 21
                        • 22
                        • 23
                        • 24
                        • 25
                        • 31
                        • 32
                        • 23 / 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