project page fixes
This commit is contained in:
@ -66,7 +66,7 @@ function log_by_sid() {
|
||||
$.post( "/sid_log")
|
||||
.done(function( res ) {
|
||||
console.log("ping");
|
||||
if(res["out"] == "goto"){
|
||||
if(res["out"] == "good"){
|
||||
goto(res["url"]);
|
||||
}
|
||||
else if (res["out"] == "bad"){
|
||||
|
@ -1,36 +1,45 @@
|
||||
window.dragMoveListener = dragMoveListener
|
||||
window.dragMoveListener = dragMoveListener;
|
||||
let root = document.getElementById("drags");
|
||||
var objs = {};
|
||||
let objs = {};
|
||||
|
||||
function add(obj){
|
||||
if (objs[obj] == null) objs[obj] = {};
|
||||
if ((objs[obj]["count"] == null)){(objs[obj]["count"] = 0)}
|
||||
let count = Object.keys(objs[obj]).length -1;
|
||||
// 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 get_count(clas){
|
||||
if (objs[clas] == null) objs[clas] = {};
|
||||
let count = Object.keys(objs[clas]).length;
|
||||
return count;
|
||||
}
|
||||
|
||||
function create(clas,obj,x,y,inside){
|
||||
if (inside == null || inside == "") inside = "[]";
|
||||
root.innerHTML += "<div class='"+clas+" drag' id="+obj+">"+inside+"</div>";
|
||||
let obj_doc = document.getElementById(obj);
|
||||
console.log(obj_doc.classList);
|
||||
set_pos(obj_doc,x,y);
|
||||
function create(clas,x,y,body,id){
|
||||
// console.log(clas,x,y,body,parent);
|
||||
// console.log(id);
|
||||
if (body == null || body == "") body = "[]";
|
||||
// root.innerHTML += "<div class='"+clas+" drag' id="+obj+">"+body+"</div>";
|
||||
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"));
|
||||
console.log(objs);
|
||||
globalThis.objs = objs;
|
||||
// console.log(objs);
|
||||
objs = objss;
|
||||
Object.entries(objs).forEach(([keys, values]) => {
|
||||
// console.log(keys,values);
|
||||
Object.entries(values).forEach(([key, value]) => {
|
||||
if(key != "count"){
|
||||
// console.log(key,value);
|
||||
create(keys,key,value["x"],value["y"],value["body"]);
|
||||
if(key != "class"){
|
||||
// console.log(key,keys);
|
||||
// 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})
|
||||
.done(function( res ) {
|
||||
if(res["out"] == "good"){
|
||||
console.log("good");
|
||||
// console.log("good");
|
||||
// console.log(JSON.parse(`'${res["body"]}'`));
|
||||
// console.log(JSON.parse(res["body"]));
|
||||
// $.cookie("objs",res["body"]);
|
||||
load_local(JSON.parse(res["body"]));
|
||||
drag_start();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function save(){
|
||||
// let proj_name = document.getElementById("proj_name").value;
|
||||
// $.cookie("objs",JSON.stringify(objs));
|
||||
console.log(objs);
|
||||
// // console.log(objs);
|
||||
// console.log(objs);
|
||||
$.post( "/save_proj", {proj:JSON.stringify(objs),name:proj_name})
|
||||
.done(function( res ) {
|
||||
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');},
|
||||
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) {
|
||||
var drag = event.relatedTarget
|
||||
var drag = event.relatedTarget;
|
||||
// console.log(drag.id);
|
||||
delete objs[drag.classList[0]][drag.id];
|
||||
drag.remove();
|
||||
console.log(objs);
|
||||
// console.log(objs);
|
||||
drag.classList.add('in_zone')
|
||||
drag.classList.remove('can-drop')
|
||||
},
|
||||
@ -105,14 +113,63 @@ interact('.dropzone').dropzone({
|
||||
accept: '.drag',
|
||||
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');},
|
||||
ondrop: function (event) {
|
||||
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};
|
||||
// console.log(objs);
|
||||
// $.cookie("objs",JSON.stringify(objs));
|
||||
drag.classList.add('in_zone')
|
||||
drag.classList.remove('can-drop')
|
||||
},
|
||||
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}`;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user