From dbf1e272173c711bb4ee42b7828d4e7478b262dc Mon Sep 17 00:00:00 2001
From: Aayush <suranaaayush98@gmail.com>
Date: Tue, 6 Aug 2019 23:46:14 +0530
Subject: [PATCH] ascii_art state derived at every input

---
 pd/nw/pd_ascii_art.js |  8 ++++----
 pd/nw/pd_canvas.html  |  3 ++-
 pd/nw/pd_canvas.js    | 22 +++++++++++++++++-----
 3 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/pd/nw/pd_ascii_art.js b/pd/nw/pd_ascii_art.js
index 12fcc346a..5bbf2f0cd 100644
--- a/pd/nw/pd_ascii_art.js
+++ b/pd/nw/pd_ascii_art.js
@@ -1,10 +1,10 @@
 "use strict";
 
 //to store indexes of characters
-    function INDEX(x, y){
-        this.x = x;
-        this.y = y;
-    };
+function INDEX(x, y){
+    this.x = x;
+    this.y = y;
+};
 
 //for tracking connection path
 function tracking_connection(curr_row, curr_col, next_row, next_col ,
diff --git a/pd/nw/pd_canvas.html b/pd/nw/pd_canvas.html
index 65c364ab9..8a3a9ccb5 100644
--- a/pd/nw/pd_canvas.html
+++ b/pd/nw/pd_canvas.html
@@ -55,10 +55,11 @@
       <textarea id="ascii_art_text_area"
                 rows="10" cols="50">write your ascii art here</textarea>
       <br/>
+      <p id="ascii_art_state">State:partial</p>
       <button type="button"
               id="canvas_ascii_art_button"
               data-i18n="[title]canvas.ascii_art.submit_tt">
-        <span data-i18n="canvas.ascii_art.submit"></span>
+      <span data-i18n="canvas.ascii_art.submit"></span>
     </div>
     <div style="display:none;" id="dropdown_list" class="noselect">
       <ol></ol>
diff --git a/pd/nw/pd_canvas.js b/pd/nw/pd_canvas.js
index 6bf28488b..a18ec3eb8 100644
--- a/pd/nw/pd_canvas.js
+++ b/pd/nw/pd_canvas.js
@@ -427,15 +427,27 @@ var canvas_events = (function() {
                     events.find_click(evt);
                 }
             },
+            check_ascii_art_state: function(evt) {
+                    events.submit_ascii_art(evt);
+            },
             submit_ascii_art : function(evt) {
                 var ascii_art = document.getElementById("ascii_art_text_area").value;
                 var parsed_art = pd_ascii_art.parse_ascii_art(ascii_art);
+                var ascii_art_state = document.getElementById("ascii_art_state");
+                var current_state = parsed_art.state;
                 // to check the create pd_message
                 //document.getElementById("ascii_art_text_area").innerHTML = parsed_art.pd_message;
-                canvas_events.normal();
-                pdgui.pdsend(name, "cut");
-                canvas_events.paste_from_pd_file(name, parsed_art.pd_message);
-                canvas_events.ascii_art();
+
+                if (current_state === "valid") {
+                    canvas_events.normal();
+                    ascii_art_state.innerHTML = "State:"+current_state
+                    pdgui.pdsend(name, "cut");
+                    canvas_events.paste_from_pd_file(name, parsed_art.pd_message);
+                    canvas_events.ascii_art();
+                }
+                else {
+                    ascii_art_state.innerHTML = "State:"+current_state;
+                }
             },
             scalar_draggable_mousemove: function(evt) {
                 var new_x = evt.pageX,
@@ -784,7 +796,7 @@ var canvas_events = (function() {
         ascii_art: function() {
             set_edit_menu_modals(false);
             canvas_events.none();
-            //document.addEventListener("keydown", events.find_keydown, false);
+            document.addEventListener("keyup", events.check_ascii_art_state, false);
             state = "ascii_art";
         },
         register: function(n) {
-- 
GitLab