Mastermindzh

Simple Table Generator

Dec 2nd, 2013
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /****
  2.  *  Author:  Rick van Lieshout
  3.  *  Website: http://mi-soft.nl
  4.  *  License: Public domain.
  5.  *      The code may be used and/or altered at will, no attribution required.
  6. ****/
  7.  
  8.  
  9. /**** Start of the general use functions ****/
  10. function isNumeric(n) {
  11.   return !isNaN(parseFloat(n)) && isFinite(n);
  12. }
  13.  
  14. function msg(message){
  15.     alert(message);
  16.     }
  17. function toggleDiv(id){
  18.      var e = document.getElementById(id);
  19.      if(e.style.display == 'block'){//if element is visible
  20.           e.style.display = 'none';//make it invisible
  21.      }
  22.      else{
  23.           e.style.display = 'block';//make it visible
  24.       }
  25. }
  26. /**** End of the general use functions ****/
  27.  
  28.  
  29. /**** Start of the simple table generator ****/
  30. // start the generation of the table.
  31. function generateTable(){
  32.     //Allocate variables and clear the textarea
  33.     var rows = document.getElementById('rows').value;
  34.     var columns = document.getElementById('columns').value;
  35.     //check wether rows and colums aren't ridiculously large, otherwise warn the user.
  36.     var total = rows * columns;
  37.     if(total > 250){
  38.         if(!confirm('Het aantal rijen en kolommen is erg groot, dit kan ervoor zorgen' +
  39.         '\ndat uw browser vastloopt of meldingen geeft tijdens het genereren. \n\nWilt u toch doorgaan?')){
  40.             return;
  41.         }
  42.     }
  43.    
  44.    
  45.     var textarea = document.getElementById('totalcode');
  46.     var width = document.getElementById('width').value;
  47.     var height = document.getElementById('height').value;
  48.     var cellpadding = document.getElementById('cellpadding').value;
  49.     var cellspacing = document.getElementById('cellspacing').value;
  50.     textarea.value = "";
  51.  
  52.     //check if both entries are numeric
  53.     if(!(isNumeric(rows) && isNumeric(columns))){
  54.         alert("Alleen de nummers 0-9 zijn toegestaan voor de rijen en kolommen waarde.");
  55.         }
  56.     else{//if both are numeric, we can proceed to generate the table
  57.         textarea.value = textarea.value += "<style>\n.mi-soft-generated{ \n";
  58.         //textarea.value = textarea.value += "<table style=\"";
  59.             //create width and height
  60.             if(!width == ''){  
  61.                 if(isNumeric(width)){
  62.                     width = "width:" + width + "px;\n";
  63.                     textarea.value = textarea.value += width;
  64.                 }else{
  65.                     alert("Er mogen alleen cijfers in de breedte zitten");
  66.                 }  
  67.             }
  68.        
  69.         if(!height == ''){ 
  70.             if(isNumeric(height)){
  71.                 height = "height:" + height + "px;\n";
  72.                 textarea.value = textarea.value += height;
  73.             }else{
  74.                 alert("Er mogen alleen cijfers in de hoogte zitten");
  75.             }  
  76.         }
  77.        
  78.         //create cellpadding and spacing
  79.             if(!cellspacing == ''){
  80.                 if(isNumeric(cellspacing)){
  81.                     cellspacing = "border-spacing:" + cellspacing + "px;\n"
  82.                     textarea.value = textarea.value += cellspacing;
  83.                 }
  84.             }
  85.        
  86.         //check which border to create, and create it.
  87.             //check wether top is checked, and all the info is correct
  88.                 if(document.getElementById('top').checked){
  89.                     var size = document.getElementById('top-size').value
  90.                     var style = document.getElementById('top-select').value
  91.                     var colour = document.getElementById('top-hex').value
  92.                     if(!isNumeric(size)){
  93.                         alert("De grootte van de boven border is verkeerd ingevuld. \n" +
  94.                         "U hoeft alleen nummers in te vullen");
  95.                     }
  96.                     var stringToAdd = "border-top:" + size + "px " + style + " #" + colour +"; \n";
  97.                     textarea.value = textarea.value += stringToAdd;
  98.                 }//check wether right is checked, and all the info is correct
  99.                 if(document.getElementById('rechts').checked){
  100.                     var size = document.getElementById('rechts-size').value
  101.                     var style = document.getElementById('rechts-select').value
  102.                     var colour = document.getElementById('rechts-hex').value
  103.                     if(!isNumeric(size)){
  104.                         alert("De grootte van de rechter border is verkeerd ingevuld. \n" +
  105.                         "U hoeft alleen nummers in te vullen");
  106.                     }
  107.                     var stringToAdd = "border-right:" + size + "px " + style + " #" + colour +"; \n";
  108.                     textarea.value = textarea.value += stringToAdd;
  109.                 }//check wether left is checked, and all the info is correct
  110.                 if(document.getElementById('links').checked){
  111.                     var size = document.getElementById('links-size').value
  112.                     var style = document.getElementById('links-select').value
  113.                     var colour = document.getElementById('links-hex').value
  114.                     if(!isNumeric(size)){
  115.                         alert("De grootte van de linker border is verkeerd ingevuld. \n" +
  116.                         "U hoeft alleen nummers in te vullen");
  117.                     }
  118.                     var stringToAdd = "border-left:" + size + "px " + style + " #" + colour +"; \n";
  119.                     textarea.value = textarea.value += stringToAdd
  120.                 }//check wether bot is checked, and all the info is correct
  121.                 if(document.getElementById('bot').checked){
  122.                     var size = document.getElementById('bot-size').value
  123.                     var style = document.getElementById('bot-select').value
  124.                     var colour = document.getElementById('bot-hex').value
  125.                     if(!isNumeric(size)){
  126.                         alert("De grootte van de onderste border is verkeerd ingevuld. \n" +
  127.                         "U hoeft alleen nummers in te vullen");
  128.                     }
  129.                     var stringToAdd = "border-bottom:" + size + "px " + style + " #" + colour +"; \n";
  130.                     textarea.value = textarea.value += stringToAdd
  131.                 }//check wether collapse is checked
  132.                 if(document.getElementById('collapse').checked){
  133.                     textarea.value = textarea.value += "border-collapse:collapse; \n"
  134.                 }
  135.                
  136.         //Add the end bracket for the table css
  137.         textarea.value = textarea.value +="}\n";
  138.         //add bold headers
  139.         textarea.value = textarea.value += "tr.bold{\n font-weight:bold;\n}\n";
  140.        
  141.         //add cell css
  142.         textarea.value = textarea.value += ".mi-soft-generated td{ \n";
  143.         if(!cellpadding == ''){
  144.                 if(isNumeric(cellpadding)){
  145.                     cellpadding = "padding:" + cellpadding + "px; \n"
  146.                     textarea.value = textarea.value += cellpadding;
  147.                 }
  148.             }
  149.  
  150.         if(document.getElementById('tdtop').checked){
  151.                     var size = document.getElementById('tdtop-size').value
  152.                     var style = document.getElementById('tdtop-select').value
  153.                     var colour = document.getElementById('tdtop-hex').value
  154.                     if(!isNumeric(size)){
  155.                         alert("De grootte van de boven border is verkeerd ingevuld. \n" +
  156.                         "U hoeft alleen nummers in te vullen");
  157.                     }
  158.                     var stringToAdd = "border-top:" + size + "px " + style + " #" + colour +";\n";
  159.                     textarea.value = textarea.value += stringToAdd;
  160.                 }
  161.         if(document.getElementById('tdrechts').checked){
  162.             var size = document.getElementById('tdrechts-size').value
  163.             var style = document.getElementById('tdrechts-select').value
  164.             var colour = document.getElementById('tdrechts-hex').value
  165.             if(!isNumeric(size)){
  166.                 alert("De grootte van de rechter border is verkeerd ingevuld. \n" +
  167.                 "U hoeft alleen nummers in te vullen");
  168.             }
  169.             var stringToAdd = "border-right:" + size + "px " + style + " #" + colour +";\n";
  170.             textarea.value = textarea.value += stringToAdd;
  171.         }//check wether left is checked, and all the info is correct
  172.         if(document.getElementById('tdlinks').checked){
  173.             var size = document.getElementById('tdlinks-size').value
  174.             var style = document.getElementById('tdlinks-select').value
  175.             var colour = document.getElementById('tdlinks-hex').value
  176.             if(!isNumeric(size)){
  177.                 alert("De grootte van de linker border is verkeerd ingevuld. \n" +
  178.                 "U hoeft alleen nummers in te vullen");
  179.             }
  180.             var stringToAdd = "border-left:" + size + "px " + style + " #" + colour +";\n";
  181.             textarea.value = textarea.value += stringToAdd
  182.         }//check wether bot is checked, and all the info is correct
  183.         if(document.getElementById('tdbot').checked){
  184.                     var size = document.getElementById('tdbot-size').value
  185.                     var style = document.getElementById('tdbot-select').value
  186.                     var colour = document.getElementById('tdbot-hex').value
  187.                     if(!isNumeric(size)){
  188.                         alert("De grootte van de onderste border is verkeerd ingevuld. \n" +
  189.                         "U hoeft alleen nummers in te vullen");
  190.                     }
  191.                     var stringToAdd = "border-bottom:" + size + "px " + style + " #" + colour +";\n";
  192.                     textarea.value = textarea.value += stringToAdd
  193.         }
  194.         textarea.value = textarea.value += "} \n";
  195.         //add end style tag    
  196.         textarea.value = textarea.value += "</style> \n";
  197.         //add the table tag
  198.         textarea.value = textarea.value +="<table class = \"mi-soft-generated\">\n";
  199.         for(var i=0;i<rows;i++){//for each row
  200.             if(document.getElementById('bold').checked && i == 0){
  201.                 textarea.value = textarea.value+= "<tr class=\"bold\">\n";
  202.             }
  203.             else{
  204.                 textarea.value = textarea.value+= "<tr>\n";
  205.             }
  206.            
  207.             for(var ii=0; ii<columns;ii++){//for each column in row
  208.                 textarea.value = textarea.value+= "      <td></td>\n";
  209.             }//print end of row and go back to start.
  210.             textarea.value = textarea.value+= "    </tr>\n";
  211.         }//print table end tag
  212.         textarea.value = textarea.value += "</table>";
  213.         //reveal the text area     
  214.         document.getElementById('hiddentextarea').style.display = "block";
  215.         //create a preview
  216.         generatePreview();
  217.     }
  218. }
  219. function generatePreview(){
  220.     //generate the preview table.
  221.     var textarea = document.getElementById('totalcode');
  222.     var prehtml = textarea.value;
  223.     var regex = new RegExp("></td>", "g");
  224.     var html = prehtml.replace(regex,">test</td>");
  225.     var div = document.getElementById('preview');
  226.     div.innerHTML = html;
  227.     document.getElementById('previewwrapper').style.display = "block";
  228. }
  229. /**** end of the simple table generator ****/
  230.  
  231.  
  232. /**** Start of the converter functions ****/
  233. function doSimpleCalc(){
  234.     var selectedid = document.getElementById("Input_Selector");
  235. }
  236. /**** End of the converter functions ****/
Advertisement
Add Comment
Please, Sign In to add comment