From 02cd250793440d313b930b4e88e9e045daf095b5 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Sat, 31 Mar 2018 10:29:12 -0400
Subject: [PATCH] del menus

---
 files.html |  3 ++-
 js/mods.js | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/files.html b/files.html
index 0a14cf5..a3476e3 100644
--- a/files.html
+++ b/files.html
@@ -19,7 +19,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/files.js'>files.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/load.js'>load.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/mods.js'>mods.js</a><br>
-<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_modules</i><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/modules.js'>modules.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/printserver.js'>printserver.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/serialserver.js'>serialserver.js</a><br>
 <i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;three.js</i><br>
@@ -99,6 +99,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/image/vector%20mask'>vector mask</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/image/vectorize'>vectorize</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/index.html'>index.html</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/index.js'>index.js</a><br>
 <i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input</i><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/input/video'>video</a><br>
 <i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterate</i><br>
diff --git a/js/mods.js b/js/mods.js
index 3dd63ad..c28fb28 100644
--- a/js/mods.js
+++ b/js/mods.js
@@ -52,12 +52,19 @@ function optest(opt,link) {
 //
 document.addEventListener('contextmenu',function(evt){
    evt.preventDefault()
+   if (mods.globals.menu != null) {
+      document.body.removeChild(mods.globals.menu)
+      mods.globals.menu = null
+      }
    var div = document.createElement('div')
    make_menu(div)
    add_menu(div,'programs',programs)
    add_menu(div,'modules',modules)
+   add_menu(div,'edit',edit)
+   add_menu(div,'options',options)
    document.body.appendChild(div)
    function make_menu(div) {
+      mods.globals.menu = div
       div.style.position = "absolute"
       div.style.top = evt.clientY+document.body.scrollTop
       div.style.left = evt.clientX+document.body.scrollLeft
@@ -204,6 +211,33 @@ document.addEventListener('contextmenu',function(evt){
          })
       document.body.appendChild(div)
       }
+   function edit(evt) {
+      evt.preventDefault()
+      document.body.removeChild(evt.target.parentNode)
+      set_prompt('editing not yet implemented')
+      }
+   function options(evt) {
+      evt.preventDefault()
+      document.body.removeChild(evt.target.parentNode)
+      var div = document.createElement('div')
+      make_menu(div)
+      //
+      // list files
+      //
+      add_menu(div,'list files',function(evt){
+         document.body.removeChild(evt.target.parentNode)
+         var win = window.open('files.html')
+         })
+      document.body.appendChild(div)
+      //
+      // save files
+      //
+      add_menu(div,'save files',function(evt){
+         document.body.removeChild(evt.target.parentNode)
+         var win = window.open('https://gitlab.cba.mit.edu/pub/mods')
+         })
+      document.body.appendChild(div)
+      }
    })
 //
 // programs menu
-- 
GitLab