project page fixes
This commit is contained in:
parent
73630d4bb6
commit
de5879069b
4
index.js
4
index.js
|
@ -140,7 +140,7 @@ app.post("/sid_log",(req,res) =>{
|
||||||
func.check_sid(cook,(include,id) => {
|
func.check_sid(cook,(include,id) => {
|
||||||
if (include){
|
if (include){
|
||||||
if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") console.log("good boy "+ id["uuid"]+" logged in by sid logs from " + id["sid"]);
|
if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") console.log("good boy "+ id["uuid"]+" logged in by sid logs from " + id["sid"]);
|
||||||
res.send({out:"goto",url:"/main"});
|
res.send({out:"good",url:"/main"});
|
||||||
}
|
}
|
||||||
else if (!include){
|
else if (!include){
|
||||||
if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") console.log("bad boy "+ id["uuid"]+" tried to login by sid but sid expired from " + id["sid"]);
|
if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") console.log("bad boy "+ id["uuid"]+" tried to login by sid but sid expired from " + id["sid"]);
|
||||||
|
@ -219,8 +219,8 @@ app.post("/save_proj", (req,res) => {
|
||||||
console.log(`${udata["uuid"]} saved project ${projin["name"]} from ${cook["sid"]}`);
|
console.log(`${udata["uuid"]} saved project ${projin["name"]} from ${cook["sid"]}`);
|
||||||
// console.log("proj in");
|
// console.log("proj in");
|
||||||
}
|
}
|
||||||
|
res.send({out:"good"});
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ function log_by_sid() {
|
||||||
$.post( "/sid_log")
|
$.post( "/sid_log")
|
||||||
.done(function( res ) {
|
.done(function( res ) {
|
||||||
console.log("ping");
|
console.log("ping");
|
||||||
if(res["out"] == "goto"){
|
if(res["out"] == "good"){
|
||||||
goto(res["url"]);
|
goto(res["url"]);
|
||||||
}
|
}
|
||||||
else if (res["out"] == "bad"){
|
else if (res["out"] == "bad"){
|
||||||
|
|
|
@ -1,36 +1,45 @@
|
||||||
window.dragMoveListener = dragMoveListener
|
window.dragMoveListener = dragMoveListener;
|
||||||
let root = document.getElementById("drags");
|
let root = document.getElementById("drags");
|
||||||
var objs = {};
|
let objs = {};
|
||||||
|
|
||||||
function add(obj){
|
function get_count(clas){
|
||||||
if (objs[obj] == null) objs[obj] = {};
|
if (objs[clas] == null) objs[clas] = {};
|
||||||
if ((objs[obj]["count"] == null)){(objs[obj]["count"] = 0)}
|
let count = Object.keys(objs[clas]).length;
|
||||||
let count = Object.keys(objs[obj]).length -1;
|
return count;
|
||||||
// console.log(obj,objs[obj+"_count"],objs[obj+"_s"]);
|
|
||||||
root.innerHTML += "<div class='"+obj+" drag' id="+obj+"_"+count+">"+obj+"</div>";
|
|
||||||
objs[obj][obj+"_"+count] = {};
|
|
||||||
// objs[obj]["count"]+=1;
|
|
||||||
console.log(objs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function create(clas,obj,x,y,inside){
|
function create(clas,x,y,body,id){
|
||||||
if (inside == null || inside == "") inside = "[]";
|
// console.log(clas,x,y,body,parent);
|
||||||
root.innerHTML += "<div class='"+clas+" drag' id="+obj+">"+inside+"</div>";
|
// console.log(id);
|
||||||
let obj_doc = document.getElementById(obj);
|
if (body == null || body == "") body = "[]";
|
||||||
console.log(obj_doc.classList);
|
// root.innerHTML += "<div class='"+clas+" drag' id="+obj+">"+body+"</div>";
|
||||||
set_pos(obj_doc,x,y);
|
let obj = document.createElement("div");
|
||||||
|
obj.id = id;
|
||||||
|
clas= clas.split(" ");
|
||||||
|
clas.forEach(cl => {
|
||||||
|
obj.classList.add(cl);
|
||||||
|
});
|
||||||
|
obj.innerHTML = body;
|
||||||
|
// parent.append(obj);
|
||||||
|
root.append(obj);
|
||||||
|
set_pos(obj,x,y);
|
||||||
|
// let obj_doc = document.getElementById(obj);
|
||||||
|
// console.log(obj_doc.classList);
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_local(objs){
|
function load_local(objss){
|
||||||
// objs = JSON.parse($.cookie("objs"));
|
// objs = JSON.parse($.cookie("objs"));
|
||||||
console.log(objs);
|
// console.log(objs);
|
||||||
globalThis.objs = objs;
|
objs = objss;
|
||||||
Object.entries(objs).forEach(([keys, values]) => {
|
Object.entries(objs).forEach(([keys, values]) => {
|
||||||
// console.log(keys,values);
|
// console.log(keys,values);
|
||||||
Object.entries(values).forEach(([key, value]) => {
|
Object.entries(values).forEach(([key, value]) => {
|
||||||
if(key != "count"){
|
if(key != "class"){
|
||||||
// console.log(key,value);
|
// console.log(key,keys);
|
||||||
create(keys,key,value["x"],value["y"],value["body"]);
|
// console.log(keys,value["x"],value["y"],value["body"]);
|
||||||
|
// let count = Object.keys(objs[keys]).length;
|
||||||
|
// console.log(count);
|
||||||
|
create(keys+" drag",value["x"],value["y"],value["body"],key);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
@ -40,20 +49,18 @@ function load_proj(){
|
||||||
$.post( "/load_proj",{name:proj_name})
|
$.post( "/load_proj",{name:proj_name})
|
||||||
.done(function( res ) {
|
.done(function( res ) {
|
||||||
if(res["out"] == "good"){
|
if(res["out"] == "good"){
|
||||||
console.log("good");
|
// console.log("good");
|
||||||
// console.log(JSON.parse(`'${res["body"]}'`));
|
// console.log(JSON.parse(`'${res["body"]}'`));
|
||||||
// console.log(JSON.parse(res["body"]));
|
// console.log(JSON.parse(res["body"]));
|
||||||
// $.cookie("objs",res["body"]);
|
// $.cookie("objs",res["body"]);
|
||||||
load_local(JSON.parse(res["body"]));
|
load_local(JSON.parse(res["body"]));
|
||||||
|
drag_start();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function save(){
|
function save(){
|
||||||
// let proj_name = document.getElementById("proj_name").value;
|
// console.log(objs);
|
||||||
// $.cookie("objs",JSON.stringify(objs));
|
|
||||||
console.log(objs);
|
|
||||||
// // console.log(objs);
|
|
||||||
$.post( "/save_proj", {proj:JSON.stringify(objs),name:proj_name})
|
$.post( "/save_proj", {proj:JSON.stringify(objs),name:proj_name})
|
||||||
.done(function( res ) {
|
.done(function( res ) {
|
||||||
if(res["out"] == "good"){
|
if(res["out"] == "good"){
|
||||||
|
@ -91,10 +98,11 @@ interact('.trash').dropzone({
|
||||||
ondragenter: function (event) {var drag = event.relatedTarget;var zone = event.target; zone.classList.add('drop-target');drag.classList.add('can-drop');},
|
ondragenter: function (event) {var drag = event.relatedTarget;var zone = event.target; zone.classList.add('drop-target');drag.classList.add('can-drop');},
|
||||||
ondragleave: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.remove('drop-target');drag.classList.remove('in_zone');drag.classList.remove('can-drop');},
|
ondragleave: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.remove('drop-target');drag.classList.remove('in_zone');drag.classList.remove('can-drop');},
|
||||||
ondrop: function (event) {
|
ondrop: function (event) {
|
||||||
var drag = event.relatedTarget
|
var drag = event.relatedTarget;
|
||||||
|
// console.log(drag.id);
|
||||||
delete objs[drag.classList[0]][drag.id];
|
delete objs[drag.classList[0]][drag.id];
|
||||||
drag.remove();
|
drag.remove();
|
||||||
console.log(objs);
|
// console.log(objs);
|
||||||
drag.classList.add('in_zone')
|
drag.classList.add('in_zone')
|
||||||
drag.classList.remove('can-drop')
|
drag.classList.remove('can-drop')
|
||||||
},
|
},
|
||||||
|
@ -105,14 +113,63 @@ interact('.dropzone').dropzone({
|
||||||
accept: '.drag',
|
accept: '.drag',
|
||||||
overlap: 0.5,
|
overlap: 0.5,
|
||||||
|
|
||||||
ondragenter: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.add('drop-target');drag.classList.add('can-drop');},
|
ondragenter: function (event) {
|
||||||
|
var drag = event.relatedTarget;
|
||||||
|
var zone = event.target;
|
||||||
|
if(drag.id == "none") drag.id = get_id(drag.classList[0]);
|
||||||
|
zone.classList.add('drop-target');
|
||||||
|
drag.classList.add('can-drop');
|
||||||
|
},
|
||||||
ondragleave: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.remove('drop-target');drag.classList.remove('in_zone');drag.classList.remove('can-drop');},
|
ondragleave: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.remove('drop-target');drag.classList.remove('in_zone');drag.classList.remove('can-drop');},
|
||||||
ondrop: function (event) {
|
ondrop: function (event) {
|
||||||
var drag = event.relatedTarget
|
var drag = event.relatedTarget
|
||||||
|
// console.log(drag.classList[0]);
|
||||||
|
if (objs[drag.classList[0]] == null) objs[drag.classList[0]] = {};
|
||||||
objs[drag.classList[0]][drag.id] = {y:drag.getAttribute('data-y'),x:drag.getAttribute('data-x'),body:drag.innerHTML};
|
objs[drag.classList[0]][drag.id] = {y:drag.getAttribute('data-y'),x:drag.getAttribute('data-x'),body:drag.innerHTML};
|
||||||
|
// console.log(objs);
|
||||||
// $.cookie("objs",JSON.stringify(objs));
|
// $.cookie("objs",JSON.stringify(objs));
|
||||||
drag.classList.add('in_zone')
|
drag.classList.add('in_zone')
|
||||||
drag.classList.remove('can-drop')
|
drag.classList.remove('can-drop')
|
||||||
},
|
},
|
||||||
ondropdeactivate: function (event) {var zone = event.target;zone.classList.remove('drop-active');zone.classList.remove('drop-target');}
|
ondropdeactivate: function (event) {var zone = event.target;zone.classList.remove('drop-active');zone.classList.remove('drop-target');}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
interact('.createzone').dropzone({
|
||||||
|
accept: '.spawn',
|
||||||
|
overlap: 0.2,
|
||||||
|
|
||||||
|
ondragenter: function (event) {
|
||||||
|
var drag = event.relatedTarget;
|
||||||
|
var zone = event.target;zone.classList.add('drop-target');
|
||||||
|
drag.classList.add('can-drop');
|
||||||
|
},
|
||||||
|
ondragleave: function (event) {
|
||||||
|
var drag = event.relatedTarget;
|
||||||
|
var zone = event.target;
|
||||||
|
zone.classList.remove('drop-target');
|
||||||
|
drag.classList.remove('spawn');
|
||||||
|
let x = zone.getBoundingClientRect().left + window.scrollX - 15;
|
||||||
|
let y = zone.getBoundingClientRect().top + window.scrollY - 20;
|
||||||
|
create(`${zone.classList[0]} drag spawn`,x,y,`${zone.classList[0]}`,`none`);
|
||||||
|
},
|
||||||
|
ondrop: function (event) {var drag = event.relatedTargetdrag.classList.remove('in_zone');drag.classList.remove('can-drop');},
|
||||||
|
ondropdeactivate: function (event) {var zone = event.target;zone.classList.remove('drop-active');zone.classList.remove('drop-target');}
|
||||||
|
})
|
||||||
|
|
||||||
|
function drag_start() {
|
||||||
|
let zones = document.getElementsByClassName("createzone");
|
||||||
|
Object.entries(zones).forEach(([key, zone]) => {
|
||||||
|
let x = zone.getBoundingClientRect().left - 15;
|
||||||
|
let y = zone.getBoundingClientRect().top - 20;
|
||||||
|
// console.log(x,y);
|
||||||
|
create(`${zone.classList[0]} drag spawn`,x,y,`${zone.classList[0]}`,`none`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_id(clas){
|
||||||
|
if(objs[clas] == null){ return `${clas}_0`}
|
||||||
|
else{
|
||||||
|
let count = Object.keys(objs[clas]).length;
|
||||||
|
return `${clas}_${count}`;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,13 +1,11 @@
|
||||||
<style>
|
|
||||||
iframe{
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<%- include('./static/start.ejs',{name:"admin",async: true}) %>
|
<%- include('./static/start.ejs',{name:"admin",async: true}) %>
|
||||||
<%- include('./header.ejs') %>
|
<%- include('./header.ejs') %>
|
||||||
|
|
||||||
<h1>hello admin</h1>
|
<section class="main">
|
||||||
<iframe src="/reg" frameborder="0"></iframe>
|
<h1>hello admin</h1>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<!-- <iframe src="/reg" frameborder="0"></iframe> -->
|
||||||
|
<%- include('./reg.ejs') %>
|
||||||
|
|
||||||
<%- include('./static/end.ejs') %>
|
<%- include('./static/end.ejs') %>
|
|
@ -44,9 +44,10 @@
|
||||||
<%- include('./header.ejs') %>
|
<%- include('./header.ejs') %>
|
||||||
<!-- <script src="/lib/interact.min.js"></script> -->
|
<!-- <script src="/lib/interact.min.js"></script> -->
|
||||||
|
|
||||||
<div id="projs_div"></div>
|
<section class="main">
|
||||||
|
<div id="projs_div"></div>
|
||||||
<button >new project</button>
|
<button >new project</button>
|
||||||
|
</section>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
load_projs((projs)=>{
|
load_projs((projs)=>{
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
width: 50px;
|
width: 50px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropzone {
|
.dropzone {
|
||||||
|
@ -16,6 +17,20 @@
|
||||||
width: 80%;
|
width: 80%;
|
||||||
transition: background-color 0.3s;
|
transition: background-color 0.3s;
|
||||||
}
|
}
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
.createzone {
|
||||||
|
background-color: #bfe4ff;
|
||||||
|
border: dashed 4px transparent;
|
||||||
|
border-radius: 4px;
|
||||||
|
height: 10px;
|
||||||
|
margin: 10px;
|
||||||
|
padding: 10px;
|
||||||
|
width: 10px;
|
||||||
|
transition: background-color 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
.trash {
|
.trash {
|
||||||
background-color: #bfe4ff;
|
background-color: #bfe4ff;
|
||||||
|
@ -28,6 +43,13 @@
|
||||||
transition: background-color 0.3s;
|
transition: background-color 0.3s;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
}
|
}
|
||||||
|
.czones{
|
||||||
|
display: flex;
|
||||||
|
margin: auto;
|
||||||
|
/* justify-content: space-around; */
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
.drop-active {
|
.drop-active {
|
||||||
border-color: #aaa;
|
border-color: #aaa;
|
||||||
|
@ -56,23 +78,76 @@
|
||||||
<%- include('./header.ejs') %>
|
<%- include('./header.ejs') %>
|
||||||
<script src="/lib/interact.min.js"></script>
|
<script src="/lib/interact.min.js"></script>
|
||||||
|
|
||||||
<div id="proj_top">
|
|
||||||
<input id="proj_name"></input>
|
|
||||||
</div>
|
|
||||||
<div id="drags"></div>
|
|
||||||
|
|
||||||
<div class="dropzone"></div>
|
<div id="drags">
|
||||||
|
<!-- <div class="cube drag spawn" id="cube_0" style="transform: translate(197.7px, 57.8667px);" data-x="197.6999969482422" data-y="57.866668701171875" >cube</div> -->
|
||||||
|
</div>
|
||||||
|
<section class="main">
|
||||||
|
<div id="proj_top">
|
||||||
|
<button onclick="save()">save</button>
|
||||||
|
<input id="proj_name"></input>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="dropzone"></div>
|
||||||
<div class="trash"></div>
|
<div class="trash"></div>
|
||||||
|
|
||||||
<button onclick="add('cube')">add</button>
|
<div class="czones">
|
||||||
<button onclick="save()">save</button>
|
<div class="cube createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
<div class="buble createzone"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script src="/lib/inter.js"></script>
|
<script src="/lib/inter.js"></script>
|
||||||
<script>
|
<script>
|
||||||
let proj_name = "<%= proj_name %>";
|
let proj_name = "<%= proj_name %>";
|
||||||
load_proj();
|
|
||||||
// console.log(proj_name);
|
// console.log(proj_name);
|
||||||
document.getElementById("proj_name").value = proj_name;
|
document.getElementById("proj_name").value = proj_name;
|
||||||
|
// drag_start();
|
||||||
|
load_proj();
|
||||||
</script>
|
</script>
|
||||||
<%- include('./static/end.ejs') %>
|
<%- include('./static/end.ejs') %>
|
|
@ -1,11 +1,26 @@
|
||||||
|
<style>
|
||||||
|
.main_sec{
|
||||||
|
margin: auto;
|
||||||
|
/* display: flex; */
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#reg_form{
|
||||||
|
width: 80vw;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<%- include('./static/start.ejs',{name:"reg",async: true}) %>
|
<%- include('./static/start.ejs',{name:"reg",async: true}) %>
|
||||||
|
|
||||||
<form action="" method="get" onsubmit="return false;">
|
<form action="" method="get" onsubmit="return false;" id="reg_form">
|
||||||
<input type="text" id="login" name="login">
|
<h1>user registration</h1>
|
||||||
<input type="password" id="pass" name="pass">
|
<section class="main_sec">
|
||||||
<input type="checkbox" name="admin" value='false' id="admin_check">
|
<input type="text" id="login" name="login">
|
||||||
<button onclick='reg();'>reg</button>
|
<input type="password" id="pass" name="pass">
|
||||||
<div id="reg_response"></div>
|
<input type="checkbox" name="admin" value='false' id="admin_check">
|
||||||
|
<button onclick='reg();'>reg</button>
|
||||||
|
<div id="reg_response"></div>
|
||||||
|
</section>
|
||||||
<script>
|
<script>
|
||||||
function reg(){
|
function reg(){
|
||||||
console.log("reg");
|
console.log("reg");
|
||||||
|
|
|
@ -11,5 +11,12 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title> <%= name %> </title>
|
<title> <%= name %> </title>
|
||||||
<!-- <script> document.querySelector("title").innerHTML += $.cookie("uuid"); </script> -->
|
<!-- <script> document.querySelector("title").innerHTML += $.cookie("uuid"); </script> -->
|
||||||
|
<style>
|
||||||
|
.main{
|
||||||
|
width: 80vw;
|
||||||
|
margin: auto;
|
||||||
|
padding-block: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user