]> git.eli173.com Git - graphbyhand/commitdiff
MVP achieved
authoreli173 <eli@eli173.com>
Sun, 30 Aug 2015 04:35:32 +0000 (23:35 -0500)
committereli173 <eli@eli173.com>
Sun, 30 Aug 2015 04:35:32 +0000 (23:35 -0500)
graph.js
index.html

index 276d28b626e6af4a180a72839507fd6e16b1c8ec..97cc119a06c67b534f8a9592d2c745e8b8501047 100644 (file)
--- a/graph.js
+++ b/graph.js
@@ -1,7 +1,7 @@
 
 
 
-v_radius = 10;
+v_radius = 7;
 v_color = 'red'
 e_width = 5
 e_color = 'black'
@@ -160,50 +160,41 @@ var getNeighbors = function(vert,canvas) {
 
 var ezformatter = function(canvas) {
     var retstr = "";
-    var useedges = document.getElementById("radioedge").checked;
+    vertstr = "V = {";
+    edgestr = "E = ";
     var useids = document.getElementById("idlblid").checked;
     canvas.forEachObject(function(o) {
-       if(useedges && o.type == 'Edge') {
-           console.log("a");
-           if(!useids) {
-               retstr = retstr.concat("("+o.vertices[0].label+
-                                      ", "+o.vertices[1].label+") ");
+       if(o.type=='Vertex') {
+           if(useids) {
+               vertstr = vertstr.concat(o.id+", ");
            }
            else {
-               retstr = retstr.concat("("+o.vertices[0].id+
-                                      ", "+o.vertices[1].id+") ");
+               vertstr = vertstr.concat(o.label+", ");
            }
        }
-       else if(o.type == 'Vertex') {
-           
-           
+       else { // edge
+           if(useids) {
+               edgestr = edgestr.concat("{"+o.vertices[0].id+", "+
+                                        o.vertices[1].id+"}, ");
+           }
+           else {
+               edgestr = edgestr.concat("{"+o.vertices[0].label+
+                                        ","+o.vertices[1].label+"}, ");
+           }
        }
     });
+    if(vertstr!="V = {") {
+       vertstr = vertstr.slice(0,-2);
+    }
+    vertstr = vertstr.concat("}");
+    if(edgestr!="E = ") {
+       edgestr = edgestr.slice(0,-2);
+    }
+    retstr = vertstr + "\n" + edgestr;
     document.getElementById("results").value = retstr;
     document.getElementById("results").style.display = "block";
 }
 
-var runformatter = function(canvas) {
-    retstr = "";
-    fstr = document.getElementById("formatstr").value;
-    var in_escape = false;
-    for(i=0;i<fstr.length;i++) {
-       if(in_escape) {
-           if(fstr[i]=='\\') {
-               retstr.push('\\')
-           }
-           else if(fstr[i]=='{') {
-               retstr.push('a');
-           }
-
-           in_escape = false;
-       }
-       
-
-    }
-    
-    console.log(retstr);
-}
 
 var Vertex = fabric.util.createClass(fabric.Circle, {
     type: 'Vertex',
index f8887a5f3026c001dbe947c9bd25aba9ba7f4383..96b6c5e8127c4ceda28f694c700243444d54cbe7 100644 (file)
     </div>
     <div id="formatter">
       Formatter<br/>
-      <input type="radio" name="eorv"
-            id="radiovert">
-      <label for="radiovert">Run on vertices</label>
-      <input type="radio" name="eorv"
-            id="radioedge">
-      <label for="radioedge">Run on edges</label><br/>
       <input type="radio" name="idolbl"
             id="idlblid">
-      <label for="idlblid">Use automatically generated IDs</label>
+      <label for="idlblid">Use automatically generated IDs</label><br/>
       <input type="radio" name="idolbl"
-            id="idlbllbl">
+            id="idlbllbl" checked="checked">
       <label for="idlbllbl">Use user-given labels</label><br/>
-      <textarea name="formatstr" id="formatstr"></textarea><br/>
-      <button id="fmt">Format</button><br/>
-      <textarea name="results" id="results" style="display:none"></textarea>
+      <button id="fmt">Get representation</button><br/>
+      <textarea name="results" id="results" rows="10" cols="50" style="display:none"></textarea>
+      note: in order to get proper results when using user-provided labels, it's essential that you label each vertex uniquely.
     </div>
   </body>
 </html>