Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
a9c0e58
Removed fs-ext dependency, so now everything builds and runs on vanil…
doctorjei Jan 13, 2017
c1be8b3
Update README.md
doctorjei Jan 13, 2017
6db57f4
Added tracking name to virtual "mainscript" for debugging
doctorjei Jan 13, 2017
3330404
Fixed problem with naming of virtual file (mainscript)
doctorjei Jan 16, 2017
225fabf
Fixed JavaScript type detection; added build-debug target for grunt.
doctorjei Jan 16, 2017
b526cd4
Update img.py script.
davidbau Jan 20, 2017
9ef6b01
Fixed virtual script bug (was preventing python execution)
doctorjei Feb 3, 2017
c3c636f
Implement the rest of the methods in jquery-turtle.js
StevieMagaco Feb 9, 2017
9e46df0
getxy() function has been defined but it is still returning undifined.
StevieMagaco Feb 16, 2017
2bd112a
removed the inside() palette as it does not work properly
StevieMagaco Feb 17, 2017
f9d0659
*Clean up on the newly added functions.
StevieMagaco Feb 20, 2017
a545e96
*Updates to the inside() and hidden() functions.
StevieMagaco Feb 21, 2017
fda9892
Changed signature of functions to be... functions. ;)
doctorjei Feb 22, 2017
4b2ae3d
Replaced old write() and type() functions with vararg versions of the…
exlted Mar 15, 2017
df780f3
Code to add forever block should exist now
exlted Mar 16, 2017
92a9d50
forever() now works in Python, added snippet using forever() to Pytho…
exlted Mar 16, 2017
f7022a2
Fixed bug where editorData's meta would be setup incorrectly (hopefully)
exlted Mar 20, 2017
6ff82d4
touches(), inside(), shown(), hidden() and getxy() work in Python. ce…
exlted Mar 21, 2017
5f19b7d
Might have cell() working in Python now (at least it no longer crashe…
exlted Mar 22, 2017
a18f2af
click() in Python now takes in clickevent data. moveto() in Python ca…
exlted Mar 23, 2017
31359c6
RV of img() in python now is a SpriteObject, img() in python is janky…
exlted Mar 27, 2017
42f138f
Python - fixed random() to work with things other than numerics
exlted Mar 29, 2017
19240db
Python - img() is no longer handled jankily and the random() block no…
exlted Mar 29, 2017
316ba29
Removed missed test code from previous commit
exlted Mar 29, 2017
e1913f3
Python - Added ability to pass in function to read() and readnum() th…
exlted Apr 7, 2017
5e13e2b
Fixed bugs in Python's read()/readnum()/readstr(). Functions passed i…
exlted Apr 7, 2017
11b2d10
Initial work on bettering save functionality. Warning when overwritin…
exlted Apr 11, 2017
ed5684f
Probably incomplete logic added to lessen the number of expected warn…
exlted Apr 11, 2017
59431e1
Added proper dialog box to saving when overwriting files, overwrite c…
exlted Apr 12, 2017
d4cef72
Added overwrite protection onto all save functions, added logic to de…
exlted Apr 13, 2017
f61aa3a
Added files that were missing for no good reason
exlted Apr 13, 2017
1b53ec9
Fixed an issue when you create a new file allowing you to save over p…
exlted Apr 13, 2017
6a268e7
Removed file that doesn't belong on the server
exlted Apr 13, 2017
1296961
Fixed issue with being able to overwrite save on new file creation. F…
exlted Apr 13, 2017
b520ef8
Updated palettes with overloads of art commands
exlted Apr 14, 2017
274000e
Needed a commit to push a tag... :(
exlted Apr 14, 2017
75ae1f8
Added working dot operator blocks for both Javascript and Python
exlted Apr 27, 2017
ecec84b
Initial documentation work started, fixed an issue with the step by s…
exlted May 1, 2017
2115711
Initial documentation work started, fixed an issue with the step by s…
exlted May 1, 2017
7c2f430
Added documentation for controller.js ad storage.js
exlted May 2, 2017
cb1b167
Added in logging for moving blocks around
May 3, 2017
b94751e
Documented advisor.js, controller.js and view.js
exlted May 9, 2017
03af142
Merge branch 'python' of https://github.com/cacticouncil/pencilcode i…
exlted May 9, 2017
d775ac7
Added limited in-code documentation to codescan.js and debug.js
exlted May 10, 2017
6eeb8f3
Added & reformatted in-code documentation to FontLoader.js, cache.js,…
exlted May 10, 2017
530eb40
Added in else support for for loops and while loops
May 11, 2017
ad1ab25
Finished off basic documentation with palette.js and draw-protractor.js
exlted May 12, 2017
1a0b0ae
Merge branch 'python' of https://github.com/cacticouncil/pencilcode i…
exlted May 12, 2017
b3da80e
Added documentation for the Save function in the form of a flowchart
exlted May 15, 2017
e08def1
Updated Save flowchart
exlted May 15, 2017
c01b87a
Fixed some problems with save documentation flowchart, created signup…
exlted May 16, 2017
c0bb6b9
Added flowchart documentation to runAction
exlted May 16, 2017
0a04851
Added flowchart documentation to runAction
exlted May 16, 2017
92db625
Merge branch 'python' of https://github.com/cacticouncil/pencilcode i…
exlted May 16, 2017
6e97ede
Added "tick" function to python
exlted May 17, 2017
24c1eac
Fixed problems with adding "tick" to python palette
exlted May 17, 2017
053c8a3
Added "pressed" functionality to Python
exlted May 17, 2017
b0814b0
Fixed bugs with some recent implementation updates
exlted May 18, 2017
bfe9683
Fixed some old bugs
exlted May 19, 2017
89fb2a9
Highlight D's role.
davidbau Jun 3, 2018
0585df8
Fix spelling errors.
davidbau Jun 4, 2018
f25bdc5
Fix spelling error.
davidbau Jun 4, 2018
b4cd503
Consistent capitalization.
davidbau Jun 4, 2018
83075f2
Increase timeouts to handle larger number of users.
davidbau Dec 7, 2018
b58bb80
Validate user on a timer to handle browser autofill.
davidbau Dec 7, 2018
aecd7c8
More forgiving login UI.
davidbau Dec 22, 2018
fc159b2
Add shrinkwrapped dependencies from serveral years ago: most tests st…
davidbau Jan 7, 2019
209b375
Formatting.
davidbau Jan 7, 2019
cd01c92
Modernize hashes, rerun npm shrinkwrap.
davidbau Jan 7, 2019
130c13d
Increase timeout limits.
davidbau Jan 7, 2019
dc1faa6
Fix load/?count=N bug and expose rebuildMs and age on cached director…
davidbau Jan 7, 2019
7116a42
Speed up prefix probe.
davidbau Jan 7, 2019
b155ce8
Don't block top-level listing for more than 10 seconds.
davidbau Jan 7, 2019
9444ee0
Update shrinkwrap integrity versions.
davidbau Feb 3, 2019
a7a4b5a
Update tests to pass on node v8.15
davidbau Feb 3, 2019
2fdb021
Incremental dirloader.
davidbau Feb 3, 2019
9910057
Tests pass cleanly on node 10.15.1
davidbau Feb 4, 2019
39fb2d2
Updated to node 10.15.1.
davidbau Feb 4, 2019
a09c46b
unlinkSync for node v10.
davidbau Feb 4, 2019
6787b86
Added gymstage as special account.
davidbau Feb 4, 2019
bd3e5bc
Fix typo.
davidbau Feb 22, 2019
7558ed1
Support no-password login.
davidbau Mar 5, 2019
e097619
Avoid early submit of password form, expand login button.
davidbau Mar 5, 2019
0fbfc97
Fix sound in pencilcode gym jam.
davidbau Mar 10, 2019
9dc3c20
Ignore validation well-known directory.
davidbau Aug 5, 2019
bf4b23b
HTML meta should appear inside an HTML comment.
davidbau Aug 5, 2019
7fb0518
Merge branch 'master' into python
doctorjei Sep 20, 2020
b6bf3bc
Add new files/renames
christensend3 Nov 18, 2020
4940487
Merge pull request #7 from christensend3/features/python_interface
doctorjei Nov 24, 2020
bf8297e
Revert "Features/python_interface"
doctorjei Nov 24, 2020
4f5d7fd
Merge pull request #8 from cacticouncil/revert-7-features/python_inte…
doctorjei Nov 24, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ content/editor.js
content/turtlebits.js
content/welcome.css
content/worker.js
content/.well-known
.DS_Store
/content/editor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://www.draw.io/
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions Documentation/Flowcharts/Save Function/Pencilcode_Save.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" version="6.5.10" editor="www.draw.io" type="device"><diagram name="Page-1">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</diagram></mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions Documentation/Flowcharts/Signup&Login/Signup&Login.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" version="6.5.10" editor="www.draw.io" type="device"><diagram name="Page-1">5Vtdk5s2FP01nqQPuwOID/txd5NNO5Mmmbrbdh9lkIEEIyrE2ttfXwkkviRvvDFgT+wXQAghrs49ujpXnoG7ze4DgVn0Ow5QMrOMYDcD72aWZdrAYAde8lyVeI5XFYQkDkSlpmAZ/4dEoXguLOIA5Z2KFOOExlm30MdpinzaKYOE4G232hon3bdmMERKwdKHiVr6dxzQqCqdO0ZT/iuKw0i+2TTEnRX0v4UEF6l438wC6/JX3d5A2Zaon0cwwNtWEXg/A3cEY1qdbXZ3KOG2lWarnrvfc7fuN0EpPeQBW3SDPstPRwGzhLjEhEY4xClM3jelt+XnId6Awa58vIl9cR7RTcJOTXaKdjH9hxdfO+LqUd5JKXlu3eKXj6KBr4jSZwEHWFDMipo+fMQ4E21UveZd3fvdoijHBfFFLUsgCZIQiVqgtjnDMsIbxDrDqhCUQBo/dVuHAlRhXa8xLDsRttXbWbz6CSaFaPQLQXnOij7iME7Z8bagFKfKcDTG5t+9jWKKlhksv2jLfK9r9HWcJHc4waR8FqznPvLZ2NzmlOBvqHVnNXdsx6gN+YQIRbuXTakaST4gsSx83RaX28Zx6ipRy2lc43izupcEX6DC15kIvkCB7z3BG07ASex/49/yxHtu3fFKMdpef+XQJkXKD7BsipFrwtkxb2ibDQLn9RlHh/tvwTnvNqncQV4q48sIM+OnGcE+d6DX+gQyAwd5Op9YuB6A7jg+UV9/zynmAzjFXBmsRzaXjuwoZstNWp5xEkdxVEfxjnSU8tEbQuBzq0KG45TmrZa/8IIGBZY376BAju79gfXtl6sDV0u8DUqq/jaYqT/8IBjJWKyFo0/4kvhWA6PFRHzrKKaHKU6fN7jIW1TKH0grOmVkliSIlLzLSThHkPhRh1lLXsbp2zclxb4p6zU06yb8uCLsLNSXxGvebob8GCZ4myLy9hc1WonwZlW8npXXa+TqI5XAW6yMoSIVw+n6o46VHQ0r11R9zJia4JKcx1Odx9wzOoN7j6d4Tw6f0I1PYwZ/FbTHhhTTgBcYXbZ3JwyzTWd66I4Lz4UGnvZE8Fyo8IzwtlwHvuPcGo6A0YnCXrOLUeBpQGqPBNLL0jJMKYu1EDyZmiFf3oLwMg7Th+wmDZaMan8akq2jgUlY1lasKsWhihfYybLwufnWBWvkfrDwa6pF8aJjXFvHDoalCb+MIazrjU0P5j5yMNvUMP7cJnF0ksnNVGe3FmYtQ+g7e9gB7fhKI8DFqrxzgOQ5AC7trs97xoQ+b6mL7HsYJ6Uy9vH8TGUZp7SVq9hq9Bn/jFQtnf7byhnphuvKuDZsSXzjal2gF/p9T+vq15cz715tzH2xflftap6W3cfrdc6M1kfb6xQxqaxeRoSpxduxOurBvq5mHH7j0heNEEFlR1mTUZzymKjMIPAV/pAh0UTxZi9PYAFH4dO5hk4XA9CpzNFfCJo1gtRkcq5GkXrIAkjRQ47IEtER1kssoJ8Htg6/c2sF3IFC+v56CUypSoHxp/9zArBGsgJTKaoazWr5k2hWNZfKValu/8JYmhUYPydwRhEs0GlWeyLY4bcwqGnxzwlfZnEOPimReGcwDOaeqVA4iXFtWY4w4OvWESOF4ra6bv6EthON5kt7HU4/lGCqqEa+/GfVK4HR1SsdXbp4NL3SUq07wTYeYz9NTZ3g0KmYL7PUlXFt2j2R+UrmLseVP0ynu7XABS/LGWY/mwsOkjN2vY+q0xTdzxlG7bBUih19/89eDf0s8Hd0sPJD2OpLX47t7MfKDww0UHcbVYzKeByt4zTm+yZYX28O2SX0RyldX3HqpwXf9m7QCPKPYYuBDJX7QXFB8zjgKg6u7vNT1smc+Pyjqu36fBbvt/2lIFmCRPN/yW2m/VqfCUxDWeuuuzWqX/cDQSit+4sJDFFZrwdyWontLbx2J54Up6g3S4minE1pXKUC75zm6s8SmleWsWfiw2zaWifl3wKiOAhYD4fJczg9sclUp7OFZqEzyO4noIr3nbwQzx+zQ5Epxj9pwqPewXCKhAdQZaM6OXSm9nLACe1lX3jIBHQSkXvklHWw8S87XNDafqpsiXx5ewaHYmdw+f84mSRBhHn3kCuxaWRmu8fCjk5mNjWs8gN5khn/a4v8+10VTTX/cQTv/wc=</diagram></mxfile>
1 change: 1 addition & 0 deletions Documentation/Flowcharts/runAction/runAction
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" version="6.5.10" editor="www.draw.io" type="device"><diagram name="Page-1">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</diagram></mxfile>
Binary file added Documentation/Flowcharts/runAction/runAction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions Documentation/controller.js.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
This top section ("down to var model = window.pencilcode.model = {") is loading in all the other files of Pencilcode and getting ready for using them in the rest of the file.

model is being built as a nulled out object which will later be filled out

The rest of these functions will be commented inline, anything that should be noted across the entire file will be put in this file.

view.on is from the view.js file, it sets up event listeners generally as on click functionality
7 changes: 7 additions & 0 deletions Documentation/editor-main.js.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
'use strict' -
forces strict usage, limits some common code bloopers by throwing exceptions
Prevents use of "unsafe" actions via throwing exceptions
Disables confusing/poorly thought out features of JS

require('controller');
Starts the application by including the main file of Pencilcode.
3 changes: 3 additions & 0 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,9 @@ module.exports = function(grunt) {
// "build", for development, builds code without running tests.
grunt.registerTask('build',
['browserify:dist', 'uglify', 'less', 'builddate']);
// "build", for development, builds code without running tests, in debug mode.
grunt.registerTask('build-debug',
['browserify:dist', 'concat', 'less', 'builddate']);
// default target: compile editor code and uglify turtlebits.js, and test it.
grunt.registerTask('default',
['build', 'test']);
Expand Down
96 changes: 39 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,30 @@

How To Build and Test PencilCode
================================
[![Build Status](https://travis-ci.org/PencilCode/pencilcode.png?branch=master)](https://travis-ci.org/PencilCode/pencilcode)
First install the prerequisites: git, nodejs, and grunt. Next, be sure you're in your home directory. Then:

<pre>
git clone https://github.com/PencilCode/pencilcode.git
cd pencilcode
npm install
grunt
grunt devserver
</pre>

On Windows Subsystem for Linux (WSL) *only*:

<pre>
git clone https://github.com/cacticouncil/pencilcode.git
cd pencilcode
npm install --no-shrinkwrap
grunt
grunt devserver
</pre>

Development can be done on Linux, Mac, or Windows.
The prerequisites are a standard node.js development environment
which is very widely used, plus grunt (you'll need to
`npm install -g grunt-cli`).

Prerequisites
-------------
There are three prerequisites: git, node.js, and grunt. Instructions are noted by operating system.

First, you need git, which is easy. On Linux,
just `sudo apt-get install git` or `sudo yum install git-core`
if you don't have it.

Second, you need node.js (which is the `node` and `npm` binaries)
and `grunt` (which is the build tool popular in the node.js community).
The Ubuntu and Debian packages for node.js are pretty old, so don't
just apt-get install the packages. Get and build the latest `node` and
`npm` and `grunt` binaries as follows:
__Linux:__

(For Linux:)
1. Git -
`sudo apt-get install git` on Debian/Ubuntu
`sudo yum install git-core` on CentOS / Redhat / Fedora

2. Node.js -
Some modern systems have recent enough tools to install node.js via the package manager. Here is how you'd do so on Ubuntu (native or under WSL):
<pre>
sudo apt-get install npm git
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
sudo npm install -g grunt-cli
</pre>
If you are not sure, it is recommended you get and build the latest `node`, `npm`, and `grunt` binaries as follows:
<pre>
mkdir -p /tmp/nodejs && cd /tmp/nodejs
wget -N http://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz # http://nodejs.org/dist/node-latest.tar.gz
wget -N http://nodejs.org/dist/v7.4.0/node-v7.4.0.tar.gz # http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-*.tar.gz && cd `ls -d node-v*`
./configure --prefix=$HOME/local
make install
Expand All @@ -53,19 +34,18 @@ npm install -g grunt-cli
</pre>
Zsh users should change `bashrc` to `zshrc` in the above code.

(For Windows Subsystem for Linux:)
__Mac:__

<pre>
sudo apt-get install npm git
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
sudo npm install -g grunt-cli
</pre>

(For Mac:)
1. On the Mac, git comes from Apple (you can get it as part of the
[Command line tools for XCode](https://developer.apple.com/downloads/index.action?q=xcode#)),
and if you'd rather not build it, node.js can be installed from
http://nodejs.org/download/.
You will still need to `sudo npm install -g grunt-cli`.

2. You'll need to install node.js as well:
<pre>
mkdir -p /tmp/nodejs && cd /tmp/nodejs
curl http://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz > node-latest.tar.gz
curl http://nodejs.org/dist/v7.4.0/node-v7.4.0.tar.gz > node-latest.tar.gz
tar xzvf node-*.tar.gz && cd `ls -d node-v*`
./configure --prefix=$HOME/local
make install
Expand All @@ -74,23 +54,25 @@ source ~/.profile
npm install -g grunt-cli
</pre>

The above drops all the built binaries into `~/local/bin` so you
don't need root.
The above drops all the built binaries into `~/local/bin` so you don't need root.

On the Mac, git comes from Apple (you can get it as part of the
[Command line tools for XCode](https://developer.apple.com/downloads/index.action?q=xcode#)),
and if you'd rather not build it, node.js can be installed from
http://nodejs.org/download/.
You will still need to `sudo npm install -g grunt-cli`.
__Windows:__

1. Git can be installed from here: http://git-scm.com/download/win

On Windows, git can be installed from here:
http://git-scm.com/download/win and node.js can be installed
from here: http://nodejs.org/download/. Windows development
is untested, but if you try it, let me know.
2. Node.js v7.x can be installed from here: http://nodejs.org/download/

Because node.js does not work on cygwin, when I work with node.js
on a Windows box, I just run it with debian under a vbox instance
https://www.virtualbox.org/.

Building and Running
---------------------
To clone the repository, build, and run, execute these commands:
<pre>
git clone https://github.com/PencilCode/pencilcode.git
cd pencilcode
npm install
grunt
grunt devserver
</pre>


How To Experiment with PencilCode
Expand Down
6 changes: 6 additions & 0 deletions Step1_Download Node.js.URL
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[InternetShortcut]
URL=https://nodejs.org/en/download/current/
IDList=
HotKey=0
IconFile=C:\Users\exlted\AppData\Local\Mozilla\Firefox\Profiles\s32xppaq.default\shortcutCache\+I5_7JpOJ20L+FgHHv8EMg==.ico
IconIndex=0
2 changes: 2 additions & 0 deletions Step2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Install the Node file you just downloaded then run Step 3

1 change: 1 addition & 0 deletions Step3_Initial_Install.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npm install -g grunt -cli
1 change: 1 addition & 0 deletions Step4_Setup.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npm install
1 change: 1 addition & 0 deletions StepFinal_Run_Server.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
grunt devserver
1 change: 1 addition & 0 deletions StepTest_Test.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
grunt
1 change: 1 addition & 0 deletions content/builddate.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Thursday, March 16th, 2017, 12:53:09 EDT
1 change: 1 addition & 0 deletions content/editor.css

Large diffs are not rendered by default.

30 changes: 30 additions & 0 deletions content/lib/droplet.js
Original file line number Diff line number Diff line change
Expand Up @@ -63400,6 +63400,7 @@ hook('mousedown', 1, function(point, event, state) {
this.dumpNodeForDebug(hitTestResult, line);
}
if (hitTestResult != null) {
this.blockFrom = "editor";
this.clickedBlock = hitTestResult;
this.clickedBlockPaletteEntry = null;
this.setCursor(this.clickedBlock.start.next);
Expand Down Expand Up @@ -63973,6 +63974,7 @@ hook('mousedown', 6, function(point, event, state) {
entry = ref3[j];
hitTestResult = this.hitTest(palettePoint, entry.block, this.paletteView);
if (hitTestResult != null) {
this.blockFrom = "palette";
this.clickedBlock = entry.block;
this.clickedPoint = point;
this.clickedBlockPaletteEntry = entry;
Expand Down Expand Up @@ -65880,11 +65882,39 @@ hook('mousedown', 10, function() {
});

Editor.prototype.endDrag = function() {
this.draggingBlock.start.next._value;
var WhereDropped = "Dropped into Palette, ";
if (this.lastHighlight == null) {
WhereDropped = "Dropped into Palette, ";
}
else if (this.lastHighlight.type == "document") {
WhereDropped = "Dropped into top of Editor, ";
}
else if (this.lastHighlight.type == "socket") {
WhereDropped = "Dropped into Socket, "
}
else {
WhereDropped = "Dropped into Editor, ";
}
var node = this.draggingBlock.start;
var blockString = "[' "
while(node.next != null){
if(node.type === "text"){
blockString += node._value + " ";
}
node = node.next;
}
blockString += "'], " + WhereDropped;
//this.blockFrom = "palette";
blockString += "Taken from " + this.blockFrom;
console.log(blockString);
$.get('/log/' + "BlockDropped", blockString);
if (this.cursorAtSocket()) {
this.setCursor(this.cursor, function(x) {
return x.type !== 'socketStart';
});
}
var val = this.draggingBlock.start.next._value;
this.draggingBlock = null;
this.draggingOffset = null;
this.lastHighlight = null;
Expand Down
4 changes: 4 additions & 0 deletions content/lib/font-awesome.css

Large diffs are not rendered by default.

Loading