From ea4a65ddc9edf0fd608bdb77b4e9b3d514082130 Mon Sep 17 00:00:00 2001 From: Curtis SerVaas Date: Thu, 24 Jul 2014 15:22:08 -0400 Subject: [PATCH] Clean start --- .gitignore | 4 + LICENSE | 13 + README.md | 31 + app.js | 55 + lib/db.js | 25 + lib/helperLib.js | 172 + models/Node.js | 220 + models/User.js | 29 + package.json | 22 + public/img/bullet-8.png | Bin 0 -> 357 bytes public/img/bullet-combined.png | Bin 0 -> 528 bytes public/img/bullet-outline.png | Bin 0 -> 423 bytes public/img/bullet.png | Bin 0 -> 1071 bytes public/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes public/img/logo.png | Bin 0 -> 20303 bytes public/img/redo.png | Bin 0 -> 38982 bytes public/img/search.png | Bin 0 -> 11411 bytes public/img/smiley.png | Bin 0 -> 946 bytes public/img/splitscreen.png | Bin 0 -> 451 bytes public/img/undo.png | Bin 0 -> 36916 bytes public/js/app.js | 311 + public/js/collections/nodesCollection.js | 5 + public/js/libs/externalLibs/backbone-min.js | 2 + public/js/libs/externalLibs/jquery-2.0.3.js | 8832 +++++++++ .../externalLibs/rangyinputs-jquery-1.1.2.js | 20 + .../libs/externalLibs/textarea_auto_expand.js | 59 + public/js/libs/externalLibs/underscore-min.js | 6 + public/js/libs/myLib/KeyboardLogic.js | 164 + public/js/libs/myLib/addNode.js | 85 + public/js/libs/myLib/moveNode.js | 36 + public/js/libs/myLib/removeNode.js | 42 + public/js/models/node.js | 3 + public/js/router.js | 191 + public/js/tempFolder/bootstrap.js | 2006 +++ public/js/tempFolder/jquery-ui.js | 14972 ++++++++++++++++ public/js/tempFolder/jquery.js | 8829 +++++++++ public/js/tempFolder/marked.js | 1162 ++ public/js/tempFolder/nestable.js | 554 + public/js/tempFolder/sidebar.js | 13 + public/js/tempFolder/sortable.js | 609 + public/js/tempFolder/startup.js | 40 + public/js/tempFolder/test.js | 60 + public/js/tempFolder/textinputs_jquery.js | 20 + public/js/tempFolder/toolbar.js | 243 + public/js/views/listView.js | 128 + public/js/views/showView.js | 141 + public/stylesheets/bootstrap.css | 7118 ++++++++ public/stylesheets/bootstrap.icons.css | 487 + public/stylesheets/normalize.css | 406 + public/stylesheets/reset.css | 86 + public/stylesheets/style.css | 319 + public/stylesheets/tabs.css | 49 + public/stylesheets/toolbar.css | 133 + views/index.ejs | 132 + 54 files changed, 47834 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app.js create mode 100644 lib/db.js create mode 100644 lib/helperLib.js create mode 100644 models/Node.js create mode 100644 models/User.js create mode 100644 package.json create mode 100644 public/img/bullet-8.png create mode 100644 public/img/bullet-combined.png create mode 100644 public/img/bullet-outline.png create mode 100644 public/img/bullet.png create mode 100644 public/img/glyphicons-halflings.png create mode 100644 public/img/logo.png create mode 100644 public/img/redo.png create mode 100644 public/img/search.png create mode 100644 public/img/smiley.png create mode 100644 public/img/splitscreen.png create mode 100644 public/img/undo.png create mode 100644 public/js/app.js create mode 100644 public/js/collections/nodesCollection.js create mode 100644 public/js/libs/externalLibs/backbone-min.js create mode 100644 public/js/libs/externalLibs/jquery-2.0.3.js create mode 100644 public/js/libs/externalLibs/rangyinputs-jquery-1.1.2.js create mode 100644 public/js/libs/externalLibs/textarea_auto_expand.js create mode 100644 public/js/libs/externalLibs/underscore-min.js create mode 100644 public/js/libs/myLib/KeyboardLogic.js create mode 100644 public/js/libs/myLib/addNode.js create mode 100644 public/js/libs/myLib/moveNode.js create mode 100644 public/js/libs/myLib/removeNode.js create mode 100644 public/js/models/node.js create mode 100644 public/js/router.js create mode 100644 public/js/tempFolder/bootstrap.js create mode 100644 public/js/tempFolder/jquery-ui.js create mode 100644 public/js/tempFolder/jquery.js create mode 100644 public/js/tempFolder/marked.js create mode 100644 public/js/tempFolder/nestable.js create mode 100644 public/js/tempFolder/sidebar.js create mode 100644 public/js/tempFolder/sortable.js create mode 100644 public/js/tempFolder/startup.js create mode 100644 public/js/tempFolder/test.js create mode 100644 public/js/tempFolder/textinputs_jquery.js create mode 100644 public/js/tempFolder/toolbar.js create mode 100644 public/js/views/listView.js create mode 100644 public/js/views/showView.js create mode 100644 public/stylesheets/bootstrap.css create mode 100644 public/stylesheets/bootstrap.icons.css create mode 100644 public/stylesheets/normalize.css create mode 100644 public/stylesheets/reset.css create mode 100644 public/stylesheets/style.css create mode 100644 public/stylesheets/tabs.css create mode 100644 public/stylesheets/toolbar.css create mode 100644 views/index.ejs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a7732e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +node_modules/ +lib/db.js + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5c93f45 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/README.md b/README.md new file mode 100644 index 0000000..97d56c9 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +**Live Demo:** http://glacial-island-2506.herokuapp.com/ + +Features ndentJS has that workflowy doesn't have: +-------- + - Live googleDocs-esque editing. + + +Pending features that workflowy has: +-------- + - Several small bug fixes. + - A better UI + - Hashtags + - Search + - Import/Export + + +Pending features that Workflowy doesn't have: +------- + - Split Screen: + - Revision Control. + - Transclusion/Aliasing/Graph-structure. + - Latex Editor. + + + +Installation and Usage +====================== + + - A throwaway database account is provided. But, you can edit /lib/db.js with your own credentials. + - `npm install` + - `node app.js` \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..d995fca --- /dev/null +++ b/app.js @@ -0,0 +1,55 @@ + +/** + * Module dependencies. + */ + +var express = require('express'); +// var routes = require('./routes/routes.js'); +var fs = require('fs'); +var http = require('http'); +var path = require('path'); +var crypto = require('crypto'); +var db = require('./lib/db'); +var helperLib = require('./lib/helperLib.js'); + +var app = express() +var server = http.Server(app); +helperLib.createSocket(server); +server.listen(process.env.PORT || 3000); + + + +// all environments +app.set('port', process.env.PORT || 3000); +app.set('views', path.join(__dirname, 'views')); +app.set('view engine', 'ejs'); +app.use(express.favicon()); +app.use(express.logger('dev')); +app.use(express.json()); +app.use(express.urlencoded()); +app.use(express.methodOverride()); +app.use(app.router); +app.use(express.static(path.join(__dirname, 'public'))); + +app.use(express.session({secret: 'secretpasswordforsessions', store: helperLib.getSessionStore()})); + +app.configure(function () { + app.use(express.bodyParser()); //not sure... + app.set('views', __dirname + '/views'); + app.set('view engine', 'ejs'); + app.use(express.static(__dirname + '/public')); //ALREADY USING IT. +}); +app.set('view options', { + layout: false +}); + +app.get('/',function(req,res){ + console.log("\n\nrenderingIndex\n") + res.render('index'); +}); + +if(process.argv[2] == "restart"){ + console.log("restarting"); +helperLib.setUpDB(); +} + diff --git a/lib/db.js b/lib/db.js new file mode 100644 index 0000000..4963d13 --- /dev/null +++ b/lib/db.js @@ -0,0 +1,25 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; +module.exports.mongoose = mongoose; +module.exports.Schema = Schema; + +// Connect to cloud database +//https://mongolab.com/ +var username = "throwaway" +var password = "throwaway1";// +var address = '@ds037637.mongolab.com:37637/throwaway_db'; +connect(); + + +// Connect to mongo +function connect() { + + var url = 'mongodb://' + username + ':' + password + address; + try { mongoose.connect(url); } + catch(err) { console.log("Error: Sign In to MongoLab") } + console.log("error caught"); + +} +function disconnect() { + mongoose.disconnect() +} diff --git a/lib/helperLib.js b/lib/helperLib.js new file mode 100644 index 0000000..dd1b51a --- /dev/null +++ b/lib/helperLib.js @@ -0,0 +1,172 @@ +var //cookie = require('cookie'), + crypto = require('crypto') + , db = require('./db') + //, exchange = require('./exchange') + , express = require('express') + , http = require('http') + , MemoryStore = express.session.MemoryStore + , ObjectID = require('mongodb').ObjectID, + cookie = require('cookie'); + +var User = require('../models/User.js'); +var Node = require('../models/Node.js'); +var sessionStore = new MemoryStore(); +var io; +var online = []; +var lastExchangeData = {}; + + +console.log("\n\nLOOK HERE!!") +// console.log(revAlg); + +// var revAlg = require('./revControlAlg.js'); +// var getTimeHash = revAlg.getTimeHash; +console.log("\n\n"); + + +module.exports = { + // createUser: function(username, email, password, callback) { + // var user = {username: username, email: email + // , password: encryptPassword(password)}; + // db.insertOne('users', user, callback); + // }, + createUser: function(username, password, callback){ + User.addUser(username, password, callback); + }, + + getNodes: function(){ + return Node.findNodes(); + }, + + getSessionStore: function(){ + return sessionStore; + }, + + createSocket: function(server) { + io = require('socket.io').listen(server); + io.sockets.on('connection', function(socket){ + + //socket.emit('news', {hello: "world"}); + socket.on('nodeRequest', function(data){ + var nodes = Node.findNodes(socket); //finds, then sends through socket. + //var nodes = {'keep': 'calm'}; + //socket.emit('nodeData', nodes); (emit is in findNodes); + }) + + socket.on("edit", function(data){ + var id = data[0]; + var newText = data[1]; + console.log("\n\n\n\n edit received:" + newText); + Node.updateText(id, newText); + socket.broadcast.emit("edit", [id, newText]); + + }); + + //This works for all ids except negative ids. + socket.on("editing", function(id){ + socket.broadcast.emit("editing", id); + }); + + + socket.on("blurred", function(data){ + console.log('\nBLURRED\n') + socket.broadcast.emit("blurred", data); + var id = data[0]; + var text = data[1]; + Node.updateText(id, text); + }); + + //I'm pretty sure i don't use this anywhere. + socket.on('nodeInsert', function(data){ + Node.addNode("testText", [], [], function(){}); + }); + + socket.on("transclude", function(data){ + var parId = data[0]; + var transcludeId = data[2]; + var newIndex = data[1]; + var now = Date.now(); + Node.updateParent(parId, transcludeId ,newIndex, now ); + }) + + + + socket.on("newNode", function(data){ + //data[0] = [parID, newindex] . data[1] = + var modelJson = data[1]; //(includes the negative ID to find later); + var parId = data[0][0]; + var newIndex = data[0][1]; + + var now = Date.now(); + var callback = function(err, instance, now){ + socket.emit("updateReceived", [modelJson._id ,instance, data[0]]); + socket.broadcast.emit("newNode", [ data[0] ,instance]); + //io.sockets.emit("newNode", [data[0], instance]) + //I'm going to have to update the parent Model on this as well... + //(and therefore, broadcast the array...) + Node.updateParent(parId, instance._id ,newIndex, now ); + } + Node.addNode(modelJson.text, modelJson.children, modelJson.parents, callback); + + }); + + socket.on("removeNode", function(data){ + var thisId = data[0]; + var thisIndex = data[1]; + var parId = data[2]; + socket.broadcast.emit("removeNode", data); + Node.removeNode(thisId, thisIndex, parId); + + }); + + socket.on("movedNode", function(data){ + // var ids = [thisModel.get("_id"), oldParModel.get("_id"), newParModel.get("_id")]; + // var arrays = [thisModel.get("parents"), oldParModel.get("children"), newParModel.get("children")]; + // var data = [ids, arrays]; + Node.moveNode(data[0], data[1]); + socket.broadcast.emit("movedNode", [data[0], data[2]]); + + + + }); + + socket.on("getTimeHash", function(){ + var timeHash = getTimeHash(); + + socket.emit("timeHash", timeHash); + }) + + + }); + // io.configure(function (){ + // io.set('authorization', function (handshakeData, callback) { + // if (handshakeData.headers.cookie) { + // handshakeData.cookie = cookie.parse(decodeURIComponent(handshakeData.headers.cookie)); + // handshakeData.sessionID = handshakeData.cookie['connect.sid']; + // sessionStore.get(handshakeData.sessionID, function (err, session) { + // if (err || !session) { + // return callback(null, false); + // } else { + // handshakeData.session = session; + // console.log('session data', session); + // return callback(null, true); + // } + // }); + // } + // else { + // return callback(null, false); + // } + // }); + // }); + }, + + setUpDB: function(){ + Node.setUpDB(); + //getTimeHash(); + } + + + + +} + diff --git a/models/Node.js b/models/Node.js new file mode 100644 index 0000000..e5a9056 --- /dev/null +++ b/models/Node.js @@ -0,0 +1,220 @@ +var db = require('../lib/db'); + +var NodeSchema = new db.Schema({ + text: {type: String}, + children: {type: Array}, + parents: {type: Array} +}) + +var SnapSchema = new db.Schema({ + text: {type: String}, + children: {type: Array}, + parents: {type: Array}, + timestamp: {type: Number}, + cur_id: {type: String} +}); + + + +var rootID; + +var MySnap = db.mongoose.model('snaps', SnapSchema); +var MyNode = db.mongoose.model('nodes', NodeSchema); + +// Exports +module.exports.addNode = addNode; +module.exports.findNodes = findNodes; +module.exports.updateParent = updateParent; +module.exports.updateText = updateText; +module.exports.setUpDB = setUpDB; +module.exports.removeNode = removeNode; +module.exports.moveNode = moveNode; +module.exports.rootNodeId = rootNodeId; +module.exports.MySnap = MySnap; + +function rootNodeId(){ + return rootID; +} + +function moveNode(ids, arrays){ + var thisId = ids[0]; //draggedId + var now = Date.now(); + MyNode.findById(thisId, null, function(err, node){ + addSnap(node, now); + node.parents = arrays[0]; + node.save(); + }); + var oldParId = ids[1]; + MyNode.findById(oldParId, null, function(err, node){ + addSnap(node, now); + node.children = arrays[1]; + node.save(); + }); + var newParId = ids[2]; + MyNode.findById(newParId, null, function(err, node){ + addSnap(node, now); + node.children = arrays[2]; + node.save(); + }); +} + +function addSnap(node, now, callback){ + var instance = new MySnap(); + instance.text = node.text; + instance.children = node.children; + instance.parents = node.parents; + instance.cur_id = node._id; + instance.timestamp = now; + instance.save(function(err){ + if(err){ + //callback(err); + } + else{ + //callback(null, instance); + } + }); + +} + + + + + + + + + + + + + +//this is technically not good asynchronous code. +//this coulde be made into a recursive function which takes an array of todo-strings. +function addListOfNodes(){ + addNode("0root", [], [], function(err, rootNode){ + rootID = rootNodeId._id; + var parId = rootNode._id; + addNode("Todos", [], [parId], function(err, vadar){ //called vadar because it is the parent/father + var vadarId = vadar._id; + var childArray = []; + addNode("Revision Control", [], [vadarId], function(err, child){ + childArray.push(child._id); + }); + addNode("LatexEditor", [], [vadarId], function(err, child){ + childArray.push(child._id); + }); + addNode("Lots of other stuff", [], [vadarId], function(err, child){ + childArray.push(child._id); + vadar.children = childArray; + vadar.save(); + }); + rootNode.children = [vadarId]; + rootNode.save(); + }); + }); +} + + +function setUpDB(){ + MyNode.remove({}, function(err) { console.log('collection removed') }); + MySnap.remove({}, function(err) { console.log('collection removed') }); + addListOfNodes(); +} + +function removeNode(thisId, thisIndex, parId){ + var now = Date.now(); + MyNode.findById(parId, null, function(err, parNode){ + if(err || parNode == null){ + return; + } + addSnap(parNode, now); + var temp = parNode.children; + console.log(temp.splice(thisIndex, 1)); + console.log(temp); + parNode.children = temp; + + parNode.save(); + }); + MyNode.findById(thisId, null, function(err, delNode){ + if(err || delNode == null){ + return; + } + addSnap(delNode, now); + if(delNode.parents.length ==1 ){ + delNode.remove(); + } + else{ //this is the condition that we'll have to take care of if there are dups. + delNode.parents = _.without(parents, parId); + delNode.save(); + } + }) +} + +function updateText(id, newText){ + console.log("\nUPDATE TEXT\n" + id + newText); + var now = Date.now(); + MyNode.findById(id, null, function(err, node){ + if(err || node == null){ + return; + } + addSnap(node, now); + node.text = newText; + node.save(); + }); +} + +function updateParent(parId, newId ,newIndex, now){ + MyNode.findById(parId, null, function(err, parNode){ + if(err || parNode == null){ + return; + } + addSnap(parNode, now); + parNode.children.insert(newIndex, newId); + parNode.save(); + }) +} + +//add Node to the DB. +function addNode(text, children, parents, callback){ + var now = Date.now(); + var instance = new MyNode(); + instance.text = text; + instance.children = children; + instance.parents = parents; + addSnap(instance, now); + + instance.save(function (err) { + if (err) { + callback(err); + } + else { + callback(null, instance, now); + } + }); +} + + +function findNodes(socket){ + var nodes = {'keeping': 'calm'} + MyNode.find(function(err, nodes){ + if(!err){ + socket.emit('nodeData', nodes) + return {'hell': 'yes'} + }else{ + socket.emit('nodeData', "error!!!") + return {'hell': 'no'} + } + + + }); +} + +Array.prototype.insert = function (index, item) { + this.splice(index, 0, item); +}; + +Array.prototype.remove = function(from, to) { + var rest = this.slice((to || from) + 1 || this.length); + this.length = from < 0 ? this.length + from : from; + return this.push.apply(this, rest); +}; diff --git a/models/User.js b/models/User.js new file mode 100644 index 0000000..e9f187d --- /dev/null +++ b/models/User.js @@ -0,0 +1,29 @@ +//(not being used yet) + +var crypto = require('crypto') +var db = require('../lib/db'); +var UserSchema = new db.Schema({ + username : {type: String, unique: true} + , password : String +}) +var MyUser = db.mongoose.model('User', UserSchema); +// Exports +module.exports.addUser = addUser; +// Add user to database +function addUser(username, password, callback) { + var instance = new MyUser(); + instance.username = username; + instance.password = encryptPassword(password); + instance.save(function (err) { + if (err) { + callback(err); +} + else { + callback(null, instance); + } + }); +} + +function encryptPassword(plainText) { + return crypto.createHash('md5').update(plainText).digest('hex'); +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..fe1ffa2 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "ndent", + "version": "0.0.1-2", + "private": true, + "scripts": { + "start": "node app.js" + }, + "dependencies": { + "express": "3.1.0", + "jade": "0.26.1", + "mongoose": "2.6.5", + "ejs": "0.8.3", + "mongodb": "^1.1.7", + "socket.io": "0.9.13", + "cookie": "0.0.4", + "underscore": "1.5.2" + }, + "subdomain": "ndent", + "engines": { + "node": "0.10.x" + } +} diff --git a/public/img/bullet-8.png b/public/img/bullet-8.png new file mode 100644 index 0000000000000000000000000000000000000000..0a99d26ce6fa3d81948ceb4e1976f74844474041 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPggKMh-DUBQDYS0HBa$iEBiObAE1a zYF-J0b5UwyNotBhd1gt5g1e`0KzJjcI8f06PZ!4!i_>o}ZR}(*Gwp?&Oa@V%yLh-rN(Fe}# u>NqmxQgg>VmoGk=wk|5OBLCO?Gu8L`80hN6IBgryFAScpelF{r5}E+I`-U$7 literal 0 HcmV?d00001 diff --git a/public/img/bullet-combined.png b/public/img/bullet-combined.png new file mode 100644 index 0000000000000000000000000000000000000000..9bfa638d9e52b2e5e1014966171f4d3b621511d2 GIT binary patch literal 528 zcmV+r0`L8aP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^e) z79|1#Vz{XQ000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004NNklV4e5S%dux*8;xNK~%UQYJ#8CGMz`I-<-YQu2W03kXW2D13p+UpVEcui-o? zI7dDNO|qS(o$=1jEOAlm_4=vT>%Ea20)Qltgrurznpf}rN8Zm2cxQ}Rk-TpK0+7HU zNlB2jk1;O2_lIAC7W_$aaPAXHb|z~{B#DxaF~+I){$K#0{rM(1n}j4qa$t;E0RUUg z?>Sf!LI^0!5&&SWg>x>KBS~zU=9$~=_M7A|TNZY^9qPJ9nnV(cqQGo6%Sj-qGA&rC zIfT#wr}68$MhGF7Ba%at*iw~ciCa5Jl5%$p{#hn5rLxv`-nos|+DltuBvmOS0N|WM zQ4}4Lv_$7z4yL54w^%GHl8?EKkN3pmU9XJ?9@bY&0YB SR=-^U00009tcf<}n!xxXgdfQlGxlAm9Q+ zyqkv8#5Dxy*WA&q=Ml(pJY?FMTB-LH<_smV?&l;M_PrNRE6bUc#?8V|uHJHc zNf7y%P^F*9F(|6vgl5~GU&`}&`QbTjyR9ejbs5H;$@$NdBXdvU@zYZ0+oiG$ znoG|vKBtzQV!Tf9>71Dd{0?lo_RG$Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^e) z5+x6N+HA-G000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000AuNklNyM3s&zZ$J?W1hn`G zC~^f26j)*#BexW!VXwFtK`?|s_~*TO0K@k&vpZ{MnUoSL$FD=L!0Et8bx~?Oe%_5V@AeBnB(&@A%rJNn~`yCHn_jQ?wr`s6Qy#fo?)Luv{?E}DLDzLt;pyq=+Y2RqbCGLWmUVXUVK!KnH5EcM50U{w2wACA zE~2@yZF}pTg5m}b0F_DwLJ0XI0)!CFOM?F-p}AKHFvhMd%bJEQ>!n2y1ZXrG8yCin z8Q?h1#lizXGMR+qIMba?ZPuh(xnoz7dFj=iR7Ms|#m8PMzX zVg;{l0PnLT38t|CJLEG7|tyCKKfZgv2%ssO+d&@03fBDan6;2=bR%PzneEg#bQwz0gJ420r`CXw<-b_ zS?2ckS11%>Q3{;%jdR5R z$K*CWKuY;utyVAgq*$$1TVD-NZ#64?X``~h_VdD9bv>GMrns!uRY^Y)az0_Pm2Y2NM%zgGqe*szG06I@Z!t4M5002ovPDHLkV1k?)&qV+L literal 0 HcmV?d00001 diff --git a/public/img/glyphicons-halflings.png b/public/img/glyphicons-halflings.png new file mode 100644 index 0000000000000000000000000000000000000000..a9969993201f9cee63cf9f49217646347297b643 GIT binary patch literal 12799 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 literal 0 HcmV?d00001 diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d8127d61cd283baa5cfbd0e0d7109d9bf1f15045 GIT binary patch literal 20303 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 literal 0 HcmV?d00001 diff --git a/public/img/redo.png b/public/img/redo.png new file mode 100644 index 0000000000000000000000000000000000000000..7a921c89c4316a1af65cd2823523b740e498c26c GIT binary patch literal 38982 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 G5B(o70lw$} literal 0 HcmV?d00001 diff --git a/public/img/smiley.png b/public/img/smiley.png new file mode 100644 index 0000000000000000000000000000000000000000..09feba7c03dd7ddf092b3698298f5fe5003ca4be GIT binary patch literal 946 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s>?NMQuI$%XIha^kYAVI-85kIi z0(?STfl{ObCMFae%*>1s#KOYF#KZ_h+*~Z&+^js@tOES(!h#%{YJ%G8f{cs|9PG@T z94rWR@BNzoc< z30fJ6+F8ju*(o{&IsS#Y0nOEBU5%FgZPxw0HIut+r%djcI;C?)pZ)x)jtizaEuQJT zWR}Z{xvs0`yRBZ}wsGUSO`FzlUFE%dz3;wFekXPZT{s+e>1f#H<1trGMBh3Sb?erx z+h?QhoQuA5=gz$g(NC_$J-r_H>UP5W2T5O_rG9&!`uAK4y-uNN-uUS2O2Wlw$o=l_4Fx99YX zHw)+fjd;Jj*6#hyx$i$7OZnB_WH`IHsH*Bxru6T=TaP{{iNtgq6>H+Cl$~bxNibYx zhMsM6)AJxJiNfA56K20Hepth;vE|c4%iTY<|6brZ<#oXE)S{V+8|!We?`2@rTQo0m zV%-JdRg5O-HYX! zk~b^=uF&V+&|dg^WA8^f!vK@lk5|9u@-C=vxxLb5Rd4^hR9oMr8@jJXD_1tW60P%C zaD;i^s#9!j&y>TC89dB)TyO4h+Ww%#9?5r$OHCf9J`WWnr{z0*&aWzLj?w*0k*@0alefBe_><4QhHoBhh-7n7aiwpVLeZ3zpz5%)06 zFX|?vW8~Fij8~@fMI1gDG}mTBZ?OAg;po%mTmGe0der{ak3kv6*o@>4mV9#?#f$Wt~$(69C%SiN*i` literal 0 HcmV?d00001 diff --git a/public/img/splitscreen.png b/public/img/splitscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f435fe276b73dac17481cef9bd12522e2c8588 GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(QjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sfJw`4;6XwoerHViy$r9Iy66gHf z+|;}h2Ir#G#FEq$h4Rdj3b`+?6uh-hzI>G56 z|He%lg^nmqeZarx_1~GZ`32svokPs9qjeGfgn>CBti z=9`Tjj-@#=7;Khha4xr3xOwflZ9}r>$E>k`cXC?$BsYe6(#Ol+)dhuKt+^SIR>t{2X7!0< z{9HZzyrQB-F3z?P{^9!8Xcv=f2GhHJUlZF@95%_%YS?XWw!Gejb(^y`LxR3lqs%Bwg_$H|~NE^T2)2Zq! rHtR>nli=AAuXPrlj1RP3+-V-u9B%x@)b=1SI2k-${an^LB{Ts5C>XPw literal 0 HcmV?d00001 diff --git a/public/img/undo.png b/public/img/undo.png new file mode 100644 index 0000000000000000000000000000000000000000..9cf4c682ab6c97e22b661e3f21f4fb901d1642b7 GIT binary patch literal 36916 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 literal 0 HcmV?d00001 diff --git a/public/js/app.js b/public/js/app.js new file mode 100644 index 0000000..a4b4a8a --- /dev/null +++ b/public/js/app.js @@ -0,0 +1,311 @@ +$(function(){ + //alert("jquery works"); + + $("body").on("mouseover", "a.expandCollapse", function(event){ + // console.log("bleh"); + // debugger; + $(event.target).find("a.expandCollapse").css("opacity", "1"); + $(event.target).closest("a.expandCollapse").css("opacity", "1"); + // $(event.target).siblings("a.expandCollapse").css("opacity", "1") + }); + $("body").on("mouseleave", "a.expandCollapse", function(event){ + // console.log("bleh"); + // debugger; + $(event.target).find("a.expandCollapse").css("opacity", ".001"); + $(event.target).closest("a.expandCollapse").css("opacity", ".001"); + // $(event.target).siblings("a.expandCollapse").css("opacity", ".001") + }); + + $("body").on("click", ".expandCollapse", function(event){ + var LI = $(event.target).parent(); + LI.children("ul").slideToggle(110); + LI.children(".zoomButton").toggleClass("collapsed"); + }); + $("body").on("click", ".splitScreen", function(){ + $(".main2").remove(); + }) + $("body").on("keydown", "textarea", keydownHandler); + $("body").on("focus", "textarea", function(event){ + var that = this; + voInitializer(that, event); + var id = $(event.target).closest("li").attr("data-id"); + console.log("ABOUT TO EMIT 'EDITING' "); + console.log(id); + socket.emit("editing", id); + }); + $("body").on("blur", "textarea", function(event){ + var thisLI = $(event.target).closest("li"); + var id = thisLI.attr("data-id"); + var text = thisLI.children().children("textarea").val(); + //console.log(id); + //alert("blurred ID" + id + text); + socket.emit("blurred", [id, text]); + $("textarea").textareaAutoExpand(); + }); + $("body").on("click", ".transclude", function(event){ + //alert(vo.thisId); + alert("Transclusion syncing with the server has not been implemented. KnownBugs:\n0.Don't make infinite loops.\n1."); + transclude(); + }); + + // AppRouter.initialize(); + myRouter = new AppRouter; + Backbone.history.start(); + + //console.log("typeOF FUNCTION"); + //console.log($.fn.textareaAutoExpand); +}); + + +function createPathMenu(event){ + //console.log($(event.target).attr("data-id")); + var pathDiv = $(event.target).parent().children("#pathDiv") + console.log(pathDiv); + if(pathDiv.length != 0){pathDiv.remove(); return; } + var curId = $(event.target).attr("data-id"); + var parents = nodesCollection.findWhere({_id:curId}).get("parents"); + var html = $(""); + console.log("parents="); + console.log(parents); + if(parents.length == 1){ + var parentId = parents[0]; + var grandParentId = nodesCollection.findWhere({_id:parentId}).get("parents"); + html.append($("
  • "+parentId+"
  • ")); + html.append($("
  • "+grandParentId+"
  • ")); + } + console.log(html); + // alert("something"); + $(event.target).parent().append(html); + +} + + + +Array.prototype.insert = function (index, item) { + this.splice(index, 0, item); +}; + +//http://stackoverflow.com/questions/500606/javascript-array-delete-elements +Array.prototype.remove = function(from, to) { + var rest = this.slice((to || from) + 1 || this.length); + this.length = from < 0 ? this.length + from : from; + return this.push.apply(this, rest); +}; + +function hasDuplicates(array) { + var valuesSoFar = {}; + for (var i = 0; i < array.length; ++i) { + var value = array[i]; + if (Object.prototype.hasOwnProperty.call(valuesSoFar, value)) { + return true; + } + valuesSoFar[value] = true; + } + return false; +} + +voInitializer = function(that, event){ + //var that = this; + vo = {}; + vo.hitEnter = (event.which == 13); + vo.hitTab = (event.which ==9); + vo.atEnd = ( $(that).getSelection().end == $(that).val().length); + vo.atBeg = ( $(that).getSelection().start == 0); + //cursor = $(this).getSelection().start; + vo.hitBack = (event.which ==8); + vo.empty = ($(that).val().length ==0); + //vo.thisLen = $() + + vo.rootLevel = $(that).closest("ul").is(".root") + vo.lastBullet = ( $(that).closest("li").is(":first-child") && vo.rootLevel); + vo.thisLI = $(event.target).closest("li"); + vo.thisId = vo.thisLI.attr("data-id"); //data-id. + vo.thisIndex = vo.thisLI.index(); //returns -1 if there's no match. + vo.thisModel = nodesCollection.findWhere({_id: vo.thisId}); + + //alert(thisIndex) + //thisModel = nodesCollection.get(thisId); + vo.siblingLI = vo.thisLI.prev(); + vo.siblingIndex = vo.siblingLI.index(); + vo.siblingId = vo.siblingLI.attr("data-id"); + vo.siblingModel = nodesCollection.findWhere({_id: vo.siblingId}); + + console.log(nodesCollection); + console.log(vo.thisModel); + + + + + if(vo.rootLevel){ + vo.parentLI = undefined; + vo.parentId = (vo.thisLI.closest("ul").attr("data-id")) + vo.grandParentId = undefined; // won't matter since outTab prevents it. //unless programattic. + } + else{ //not root level. + //debugger; + vo.parentLI = vo.thisLI.parent().closest("li"); + vo.parentId = (vo.parentLI.attr("data-id")); + if(vo.parentLI.attr("data-depth") == 0){ //could test this another way. + vo.grandParentId = vo.parentLI.closest("ul").attr("data-id"); + //console.log("grandParentId" + grandParentId) + } + else{ + vo.grandParentId = (vo.parentLI.parent().closest("li").attr('data-id')); + //console.log("grandParentId" + grandParentId) + } + } + vo.grandParentModel = nodesCollection.findWhere({_id: vo.grandParentId}); + vo.parentModel = nodesCollection.findWhere({_id: vo.parentId}); +} + + +keydownHandler = function(event){ //the entire body is wrapped in this. + var that = this; + // + if(event.which == undefined){ return; } + + voInitializer(that, event); + + //event.preventDefault(); + //http://stackoverflow.com/questions/20964729/run-keydown-event-handler-after-the-value-of-a-textarea-has-been-changed + //keyupp fixes this, but causes other problems. + if( !(vo.hitTab || vo.hitEnter || (vo.hitBack && vo.empty))){ + //The reason this isn't syncing perfectly between bullets is that... + //... the text-area val hasn't updated at this point. + vo.thisModel.set("text", $(that).val()); + _.each(vo.thisModel.get("views"), function(view){ + view.updateText() + }); + } + + if(vo.hitEnter){ + event.preventDefault(); + + if(event.shiftKey){ + _.each(vo.thisModel.get("views"), function(view){ + view.collapse(); + }); + event.preventDefault(); + alert("Temporarily is used for expand/collapse (instead of clicking)") + } + + if(!event.shiftKey){ + event.preventDefault(); + if(vo.empty){ + addNode(""); + return; + }//if(empty) + else{//!empty + if(vo.atEnd){ + //alert("CORRECT!") + addNode(""); + return; + }// + if(!vo.atEnd && !vo.atBeg){ //split bullet + var topStr = ''; + var botStr = ''; + splitText(that, botStr, topStr, addNode); + return; + //addNode(botStr, topStr); + } + if(!vo.atEnd && vo.atBeg){//addNode (before). (equivalent to splitting bullet) + var topStr = ''; + var botStr = ''; + splitText(that, botStr, topStr, addNode); + return; + //addNode(botStr, topStr); + } + }//!empty + + } + } //hitEnter + + if(vo.hitBack && vo.empty){ + event.preventDefault(); + removeNode(vo); + + }//hitBack. + + // // START ON HIT TAB +// if (vo.hitTab) { + +// event.preventDefault(); + +// if (event.shiftKey) { +// event.preventDefault(); + + +// if (($(this).parent().parent().parent().hasClass("root"))) { +// // do nothing. //alert() //IT USED TO BE ID = 'ROOT' // we use 'root SubList' because it has two classes. +// } +// else { // OUTDENT!! +// var newIndex = $(this).parent().parent().parent().closest("li").index(); +// debugger; +// moveNode(vo.thisModel, vo.thisIndex, vo.parentModel, vo.grandParentModel, newIndex+1, true); +// } +// } +// var hasAboveSibling = (vo.thisIndex != 0); +// if(!event.shiftKey && (hasAboveSibling) ){ +// var newIndex = vo.siblingModel.get("children").length; // no need for a + 1, because 0 index + insert (duh) +// moveNode(vo.thisModel, vo.thisIndex, vo.parentModel, vo.siblingModel, newIndex, true); +// } +// }// END ON HIT TAB +if((vo.hitTab && !event.shiftKey) || (event.keyCode == 39 && event.shiftKey)){ //INDENT + event.preventDefault(); + var hasAboveSibling = (vo.thisIndex != 0); + if(hasAboveSibling){ + var newIndex = vo.siblingModel.get("children").length; // no need for a + 1, because 0 index + insert (duh) + moveNode(vo.thisModel, vo.thisIndex, vo.parentModel, vo.siblingModel, newIndex, true); + } +} +if((vo.hitTab && event.shiftKey) || (event.keyCode == 37 && event.shiftKey)){// OUTDENT!! + if (($(this).parent().parent().parent().hasClass("root"))) { + // do nothing. //alert() //IT USED TO BE ID = 'ROOT' // we use 'root SubList' because it has two classes. + } + else { + + var newSiblingUL = $(this).parent().parent().parent(); + var newIndex = newSiblingUL.closest("li").index(); + moveNode(vo.thisModel, vo.thisIndex, vo.parentModel, vo.grandParentModel, newIndex+1, true); + setTimeout(function(){ //(MoveNode is asynchronous, so you need to wait a little bit.). + newSiblingUL.parent().next().children().children("textarea").focus(); + }, 100); + + + } +} + + if(event.keyCode == 38 && event.shiftKey && !vo.thisLI.is(":first-child")) { + moveNode(vo.thisModel, vo.thisIndex, vo.parentModel, vo.parentModel, vo.thisIndex-1, true); + return; + } + if(event.keyCode == 40 && event.shiftKey && !vo.thisLI.is(":last-child")) { + moveNode(vo.thisModel, vo.thisIndex, vo.parentModel, vo.parentModel, vo.thisIndex+1, true); + return; + } + + + +} + + + +Array.prototype.removeOne = function(parId){ + var parIndex = this.indexOf(parId); + this.remove(parIndex); +} + + + + + + + + + + + + + + + diff --git a/public/js/collections/nodesCollection.js b/public/js/collections/nodesCollection.js new file mode 100644 index 0000000..52674b8 --- /dev/null +++ b/public/js/collections/nodesCollection.js @@ -0,0 +1,5 @@ +var nodesCollection = Backbone.Collection.extend({ + + model: NodeModel + +}); \ No newline at end of file diff --git a/public/js/libs/externalLibs/backbone-min.js b/public/js/libs/externalLibs/backbone-min.js new file mode 100644 index 0000000..d82f45b --- /dev/null +++ b/public/js/libs/externalLibs/backbone-min.js @@ -0,0 +1,2 @@ +(function(t,e){if(typeof exports!=="undefined"){e(t,exports,require("underscore"))}else if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){t.Backbone=e(t,s,i,r)})}else{t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}})(this,function(t,e,i,r){var s=t.Backbone;var n=[];var a=n.push;var o=n.slice;var h=n.splice;e.VERSION="1.1.0";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var u=e.Events={on:function(t,e,i){if(!c(this,"on",t,[e,i])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);r.push({callback:e,context:i,ctx:i||this});return this},once:function(t,e,r){if(!c(this,"once",t,[e,r])||!e)return this;var s=this;var n=i.once(function(){s.off(t,n);e.apply(this,arguments)});n._callback=e;return this.on(t,n,r)},off:function(t,e,r){var s,n,a,o,h,u,l,f;if(!this._events||!c(this,"off",t,[e,r]))return this;if(!t&&!e&&!r){this._events={};return this}o=t?[t]:i.keys(this._events);for(h=0,u=o.length;h").attr(t);this.setElement(r,false)}else{this.setElement(i.result(this,"el"),false)}}});e.sync=function(t,r,s){var n=T[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:n,dataType:"json"};if(!s.url){a.url=i.result(r,"url")||M()}if(s.data==null&&r&&(t==="create"||t==="update"||t==="patch")){a.contentType="application/json";a.data=JSON.stringify(s.attrs||r.toJSON(s))}if(s.emulateJSON){a.contentType="application/x-www-form-urlencoded";a.data=a.data?{model:a.data}:{}}if(s.emulateHTTP&&(n==="PUT"||n==="DELETE"||n==="PATCH")){a.type="POST";if(s.emulateJSON)a.data._method=n;var o=s.beforeSend;s.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",n);if(o)return o.apply(this,arguments)}}if(a.type!=="GET"&&!s.emulateJSON){a.processData=false}if(a.type==="PATCH"&&k){a.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var h=s.xhr=e.ajax(i.extend(a,s));r.trigger("request",r,h,s);return h};var k=typeof window!=="undefined"&&!!window.ActiveXObject&&!(window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent);var T={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var S=e.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var $=/\((.*?)\)/g;var H=/(\(\?)?:\w+/g;var A=/\*\w+/g;var I=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(S.prototype,u,{initialize:function(){},route:function(t,r,s){if(!i.isRegExp(t))t=this._routeToRegExp(t);if(i.isFunction(r)){s=r;r=""}if(!s)s=this[r];var n=this;e.history.route(t,function(i){var a=n._extractParameters(t,i);s&&s.apply(n,a);n.trigger.apply(n,["route:"+r].concat(a));n.trigger("route",r,a);e.history.trigger("route",n,r,a)});return this},navigate:function(t,i){e.history.navigate(t,i);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=i.result(this,"routes");var t,e=i.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(I,"\\$&").replace($,"(?:$1)?").replace(H,function(t,e){return e?t:"([^/]+)"}).replace(A,"(.*?)");return new RegExp("^"+t+"$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return i.map(r,function(t){return t?decodeURIComponent(t):null})}});var N=e.History=function(){this.handlers=[];i.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var O=/^[#\/]|\s+$/g;var P=/^\/+|\/+$/g;var C=/msie [\w.]+/;var j=/\/$/;var R=/[?#].*$/;N.started=false;i.extend(N.prototype,u,{interval:50,getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getFragment:function(t,e){if(t==null){if(this._hasPushState||!this._wantsHashChange||e){t=this.location.pathname;var i=this.root.replace(j,"");if(!t.indexOf(i))t=t.slice(i.length)}else{t=this.getHash()}}return t.replace(O,"")},start:function(t){if(N.started)throw new Error("Backbone.history has already been started");N.started=true;this.options=i.extend({root:"/"},this.options,t);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var r=this.getFragment();var s=document.documentMode;var n=C.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);this.root=("/"+this.root+"/").replace(P,"/");if(n&&this._wantsHashChange){this.iframe=e.$('