added object edit
This commit is contained in:
parent
387a0d135f
commit
c9321dc7e5
27
db.js
27
db.js
|
@ -81,8 +81,8 @@ module.exports.ggv = (table,ekey,key,value,callback,prevs = false) => {
|
||||||
// set value where
|
// set value where
|
||||||
module.exports.sv = (table,key,value,ekey,evalue,callback,prevs = false,no_srt = false) => {
|
module.exports.sv = (table,key,value,ekey,evalue,callback,prevs = false,no_srt = false) => {
|
||||||
value = (no_srt)? value:`'${value}'`;
|
value = (no_srt)? value:`'${value}'`;
|
||||||
|
// console.log(`UPDATE ${table} SET ${key} = ${value} WHERE ${ekey} = '${evalue}'`);
|
||||||
db(prevs).query(`UPDATE ${table} SET ${key} = ${value} WHERE ${ekey} = '${evalue}'`, (err , rows) => {
|
db(prevs).query(`UPDATE ${table} SET ${key} = ${value} WHERE ${ekey} = '${evalue}'`, (err , rows) => {
|
||||||
// console.log("UPDATE `"+table+"` SET `"+key+"` = '"+value+"' WHERE `"+ekey+"` = '"+evalue+"'");
|
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log("sql err");
|
console.log("sql err");
|
||||||
throw err;
|
throw err;
|
||||||
|
@ -91,6 +91,31 @@ module.exports.sv = (table,key,value,ekey,evalue,callback,prevs = false,no_srt =
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module.exports.uv = (table,keys,values,ekey,evalue,callback,prevs = false,no_srt = false) => {
|
||||||
|
values = values.split(".");
|
||||||
|
keys = keys.split(".");
|
||||||
|
let sets = '';
|
||||||
|
for (let i = 0; i < keys.length; i++) {
|
||||||
|
if(i != keys.length-1){
|
||||||
|
sets+=`${keys[i]} = ${values[i]},`;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
sets+=`${keys[i]} = ${values[i]}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// console.log(`UPDATE ${table} SET ${sets} WHERE ${ekey} = '${evalue}'`);
|
||||||
|
db(prevs).query(`UPDATE ${table} SET ${sets} WHERE ${ekey} = '${evalue}'`, (err , rows) => {
|
||||||
|
if (err) {
|
||||||
|
console.log("sql err");
|
||||||
|
throw err;
|
||||||
|
}else{
|
||||||
|
if(callback)callback(rows);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// new record
|
// new record
|
||||||
module.exports.nr = (table,keys,values,prevs = false,callback) =>{
|
module.exports.nr = (table,keys,values,prevs = false,callback) =>{
|
||||||
// console.log('INSERT INTO `'+table+'`('+keys+') VALUES ('+values+')');
|
// console.log('INSERT INTO `'+table+'`('+keys+') VALUES ('+values+')');
|
||||||
|
|
29
index.js
29
index.js
|
@ -212,7 +212,7 @@ app.get("/get_logs", (req,res) => {
|
||||||
try{let cook = req.cookies;func.sid(cook,res,()=>{func.logs_file(res);})}
|
try{let cook = req.cookies;func.sid(cook,res,()=>{func.logs_file(res);})}
|
||||||
catch (error) {func.log("router logs download error - "+error);}
|
catch (error) {func.log("router logs download error - "+error);}
|
||||||
})
|
})
|
||||||
app.post("/new_obj", (req,res) => {
|
app.post("/admin/obj/new", (req,res) => {
|
||||||
try{
|
try{
|
||||||
let inp = req.body;
|
let inp = req.body;
|
||||||
let cook = req.cookies;
|
let cook = req.cookies;
|
||||||
|
@ -223,6 +223,28 @@ app.post("/new_obj", (req,res) => {
|
||||||
func.log("router object creating error - "+error);
|
func.log("router object creating error - "+error);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
app.post("/admin/obj/edit", (req,res) => {
|
||||||
|
try{
|
||||||
|
let inp = req.body;
|
||||||
|
let cook = req.cookies;
|
||||||
|
func.sid(cook,res,()=>{
|
||||||
|
obj.save(inp,cook,res);
|
||||||
|
},true,true)
|
||||||
|
} catch (error) {
|
||||||
|
func.log("router object creating error - "+error);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
app.post("/admin/obj/del", (req,res) => {
|
||||||
|
try{
|
||||||
|
let inp = req.body;
|
||||||
|
let cook = req.cookies;
|
||||||
|
func.sid(cook,res,()=>{
|
||||||
|
obj.del(inp,cook,res);
|
||||||
|
},true,true)
|
||||||
|
} catch (error) {
|
||||||
|
func.log("router object creating error - "+error);
|
||||||
|
}
|
||||||
|
})
|
||||||
app.post("/admin/new/group", (req,res) => {
|
app.post("/admin/new/group", (req,res) => {
|
||||||
try{
|
try{
|
||||||
let inp = req.body;
|
let inp = req.body;
|
||||||
|
@ -300,11 +322,6 @@ app.post("/admin/users/del/user", (req,res) => {
|
||||||
func.log("router object creating error - "+error);
|
func.log("router object creating error - "+error);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
app.post("/admin/change_objs", (req,res) => {
|
|
||||||
try{let cook = req.cookies;func.sid(cook,res,()=>{func.logs_file(res);})}
|
|
||||||
catch (error) {func.log("router logs download error - "+error);}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
68
object.js
68
object.js
|
@ -30,14 +30,14 @@ module.exports.new = (inp,cook,res)=>{
|
||||||
try {
|
try {
|
||||||
db.ggv("object_groups","name","id",`'${inp["gid"]}'`,(gname)=>{gname = gname[0]
|
db.ggv("object_groups","name","id",`'${inp["gid"]}'`,(gname)=>{gname = gname[0]
|
||||||
db.ggv("objects","name","gid",`'${inp["gid"]}' AND name = '${inp["name"]}/g/${gname["name"]}'`,(db_name)=>{
|
db.ggv("objects","name","gid",`'${inp["gid"]}' AND name = '${inp["name"]}/g/${gname["name"]}'`,(db_name)=>{
|
||||||
if(db_name[0] != null){
|
if(db_name[0] != null){
|
||||||
res.send({out:"bad",err:"name"});
|
res.send({out:"bad",err:"name"});
|
||||||
}
|
}
|
||||||
else if (db_name[0] == null){
|
else if (db_name[0] == null){
|
||||||
db.nr("objects","`name`,`img`,`height`,`width`,`description`,`gid`",`'${inp["name"]}/g/${gname["name"]}','${inp["img"]}','${inp["height"]}','${inp["width"]}','${inp["desc"]}','${inp["gid"]}'`,true);
|
db.nr("objects","`name`,`img`,`height`,`width`,`description`,`gid`",`'${inp["name"]}/g/${gname["name"]}','${inp["img"]}','${inp["height"]}','${inp["width"]}','${inp["desc"]}','${inp["gid"]}'`,true);
|
||||||
db.sv("object_groups","count",`(count + 1)`,"id",inp["gid"],()=>{},true,true)
|
db.sv("object_groups","count",`(count + 1)`,"id",inp["gid"],()=>{},true,true)
|
||||||
func.log(`admin object created name:${inp["name"]} group:${gname["name"]}`);
|
func.log(`admin object created name:${inp["name"]} group:${gname["name"]}`);
|
||||||
res.send({out:"good"});
|
res.send({out:"good"});
|
||||||
}
|
}
|
||||||
// console.log(db_name);
|
// console.log(db_name);
|
||||||
// db.ggv("objects","gid","name",`'${inp["name"]}'`,(db_name)=>{
|
// db.ggv("objects","gid","name",`'${inp["name"]}'`,(db_name)=>{
|
||||||
|
@ -49,6 +49,58 @@ module.exports.new = (inp,cook,res)=>{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module.exports.save = (inp,cook,res)=>{
|
||||||
|
try {
|
||||||
|
// let changed = [];
|
||||||
|
let changes = JSON.parse(inp["changes"]);
|
||||||
|
let taken_name = false;
|
||||||
|
Object.entries(changes).forEach(([key,value]) => {
|
||||||
|
// console.log(key,value);
|
||||||
|
// console.log( Object.keys(changes).pop());
|
||||||
|
if(key == "name"){
|
||||||
|
db.ggv("objects","id","name",`'${value}'`,(gname)=>{gname = gname[0]
|
||||||
|
if(gname == null){
|
||||||
|
db.sv("objects",key,value,"id",inp["id"],()=>{
|
||||||
|
chack_if_last(key)
|
||||||
|
},true);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
taken_name = true;
|
||||||
|
// console.log(taken_name);
|
||||||
|
chack_if_last(key)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else if (key != "name"){
|
||||||
|
// console.log("not name");
|
||||||
|
db.sv("objects",key,value,"id",inp["id"],()=>{
|
||||||
|
chack_if_last(key)
|
||||||
|
},true);
|
||||||
|
// changed.push(key);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
function chack_if_last(key){
|
||||||
|
if(key == Object.keys(changes).at(-1)){
|
||||||
|
res.send({out:"good",name_err:taken_name});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
func.log("backend object creating error - "+error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module.exports.del = (inp,cook,res)=>{
|
||||||
|
try {
|
||||||
|
let name = inp["name"].split("/")[0];
|
||||||
|
let group = inp["name"].split("/").at(-1);
|
||||||
|
db.dl("objects",`id`,`'${inp["id"]}' AND gid = '${inp["gid"]}'`,()=>{
|
||||||
|
func.log(`admin group deleted ${name} from ${group}`);
|
||||||
|
res.send({out:"good"});
|
||||||
|
},true);
|
||||||
|
} catch (error) {
|
||||||
|
func.log("backend single object loading err0r - "+error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports.load_groups = (inp,cook,res)=>{
|
module.exports.load_groups = (inp,cook,res)=>{
|
||||||
try {
|
try {
|
||||||
db.gav("object_groups","0",(gdata)=>{
|
db.gav("object_groups","0",(gdata)=>{
|
||||||
|
|
|
@ -21,7 +21,10 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<h1><%= lang("create new object") %></h1>
|
<div style="display: flex;justify-content: space-between;">
|
||||||
|
<h1>object</h1>
|
||||||
|
<h1 id="object_edit_type">creation</h1>
|
||||||
|
</div>
|
||||||
<div class="nobj">
|
<div class="nobj">
|
||||||
<div>
|
<div>
|
||||||
<div class="img_preview">
|
<div class="img_preview">
|
||||||
|
@ -37,7 +40,7 @@
|
||||||
<div>
|
<div>
|
||||||
<div class="nobj_options">
|
<div class="nobj_options">
|
||||||
<input type="text" id="nobj_name" placeholder="<%= lang("object name") %>">
|
<input type="text" id="nobj_name" placeholder="<%= lang("object name") %>">
|
||||||
<button onclick="create_obj()"><%= lang("create object")%></button>
|
<button onclick="create_obj()" id="obj_apply_btn"><%= lang("create object")%></button>
|
||||||
<div id="obj_resp"></div>
|
<div id="obj_resp"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="obj_input">
|
<div id="obj_input">
|
||||||
|
@ -56,6 +59,9 @@
|
||||||
<input style="width: 100%;" type="range" step="0.5" min="1" max="100" id="obj_width" value="100" oninput="obj_size_change('width')">
|
<input style="width: 100%;" type="range" step="0.5" min="1" max="100" id="obj_width" value="100" oninput="obj_size_change('width')">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<button onclick="set_obj_edit_params()">clear parameters</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -76,6 +82,41 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function set_obj_edit_params(img = "",name = "",description="",height = 100,width = 100){
|
||||||
|
if(img ==""&&name ==""&&description == ""){
|
||||||
|
document.getElementById("object_edit_type").innerText = "creation";
|
||||||
|
document.getElementById("obj_apply_btn").innerText = "create object";
|
||||||
|
document.getElementById("obj_apply_btn").setAttribute("onclick","create_obj()");
|
||||||
|
}else {
|
||||||
|
document.getElementById("object_edit_type").innerText = "edit";
|
||||||
|
document.getElementById("obj_apply_btn").innerText = "save edited object";
|
||||||
|
document.getElementById("obj_apply_btn").setAttribute("onclick","save_edited_obj()");
|
||||||
|
}
|
||||||
|
|
||||||
|
let img_file = document.getElementById("img_file");
|
||||||
|
let img_prev = document.getElementById("img_prev");
|
||||||
|
let name_div = document.getElementById("nobj_name");
|
||||||
|
let description_div = document.getElementById("nobj_description");
|
||||||
|
|
||||||
|
let height_slider = document.getElementById("obj_height");
|
||||||
|
let height_text = document.getElementById("obj_height_value");
|
||||||
|
let width_slider = document.getElementById("obj_width");
|
||||||
|
let width_text = document.getElementById("obj_width_value");
|
||||||
|
|
||||||
|
name_div.value = name;
|
||||||
|
img_file.value = null;
|
||||||
|
img_prev.src = img;
|
||||||
|
img_prev.style.height = `${height*2}px`;
|
||||||
|
img_prev.style.width = `${width*2}px`;
|
||||||
|
description_div.value = description;
|
||||||
|
|
||||||
|
height_slider.value = height;
|
||||||
|
width_slider.value = width;
|
||||||
|
height_text.innerText = `${height}см`;
|
||||||
|
width_text.innerText = `${width}см`;
|
||||||
|
}
|
||||||
|
|
||||||
function previewFile() {
|
function previewFile() {
|
||||||
var preview = document.querySelector('img');
|
var preview = document.querySelector('img');
|
||||||
var file = document.querySelector('input[type=file]').files[0];
|
var file = document.querySelector('input[type=file]').files[0];
|
||||||
|
@ -94,7 +135,7 @@
|
||||||
|
|
||||||
function new_obj(name,img,height,width,description,callback){
|
function new_obj(name,img,height,width,description,callback){
|
||||||
let select = document.getElementById("group_select");
|
let select = document.getElementById("group_select");
|
||||||
$.post( "/new_obj", { name:name,img:img,desc:description,height:height,width:width,gid:select.options[select.selectedIndex].getAttribute("gid")})
|
$.post( "/admin/obj/new", { name:name,img:img,desc:description,height:height,width:width,gid:select.options[select.selectedIndex].getAttribute("gid")})
|
||||||
.done(function( res ) {
|
.done(function( res ) {
|
||||||
// if(res["out"] == "good"){
|
// if(res["out"] == "good"){
|
||||||
// console.log(res["body"]);
|
// console.log(res["body"]);
|
||||||
|
@ -108,7 +149,7 @@
|
||||||
let description = document.getElementById("nobj_description").value;
|
let description = document.getElementById("nobj_description").value;
|
||||||
let height = document.getElementById("obj_height").value;
|
let height = document.getElementById("obj_height").value;
|
||||||
let width = document.getElementById("obj_width").value;
|
let width = document.getElementById("obj_width").value;
|
||||||
var img = document.querySelector('img').src;
|
var img = document.querySelector('#img_prev').src;
|
||||||
name = name.replace(" ","$");
|
name = name.replace(" ","$");
|
||||||
if (img != "http://n0rsrv2:3002/admin"){
|
if (img != "http://n0rsrv2:3002/admin"){
|
||||||
document.getElementById("obj_resp").innerHTML = "creating object";
|
document.getElementById("obj_resp").innerHTML = "creating object";
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
img{
|
img{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
#objs_in_group{
|
#objs_in_group{
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -22,10 +23,9 @@
|
||||||
<div>
|
<div>
|
||||||
<div id="objs_in_group"></div>
|
<div id="objs_in_group"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cmenu" id="object_menu">
|
<div class="cmenu" id="object_edit_menu">
|
||||||
<button>del object</button>
|
<button onclick="obj_del()">del object</button>
|
||||||
<button>change name</button>
|
<button onclick="set_edit()">edit object</button>
|
||||||
<button>change size</button>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -33,11 +33,16 @@
|
||||||
edit_get_objs();
|
edit_get_objs();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function set_edit(){
|
||||||
|
let menu = document.getElementById("object_edit_menu");
|
||||||
|
set_obj_edit_params(menu.getAttribute("obj_img"),menu.getAttribute("obj_name").split("/")[0],menu.getAttribute("obj_description"),menu.getAttribute("obj_height"),menu.getAttribute("obj_width"));
|
||||||
|
}
|
||||||
|
|
||||||
function edit_get_objs(){
|
function edit_get_objs(){
|
||||||
document.getElementById("objs_in_group").innerHTML = "";
|
document.getElementById("objs_in_group").innerHTML = "";
|
||||||
edit_load_objs((data)=>{
|
edit_load_objs((data)=>{
|
||||||
data.forEach(value => {
|
data.forEach(value => {
|
||||||
// console.log(value);
|
console.log(value);
|
||||||
// // console.log($.cookie("cache"));
|
// // console.log($.cookie("cache"));
|
||||||
// console.log(localStorage.getItem(`${value["name"]}`));
|
// console.log(localStorage.getItem(`${value["name"]}`));
|
||||||
if ($.cookie("cache") == "true"){
|
if ($.cookie("cache") == "true"){
|
||||||
|
@ -59,17 +64,92 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function make(img){
|
function make(img){
|
||||||
let czones = document.getElementById("objs_in_group");
|
let obj_list = document.getElementById("objs_in_group");
|
||||||
let czone = document.createElement('div');
|
let obj = document.createElement('div');
|
||||||
czone.classList.add(value["name"]);
|
obj.id = "object_menu";
|
||||||
czone.classList.add("object");
|
obj.classList.add(value["name"]);
|
||||||
czone.innerHTML = `<img src="${img}">`
|
obj.classList.add("object");
|
||||||
czones.append(czone)
|
obj.setAttribute("name",value["name"])
|
||||||
|
obj.setAttribute("description",value["description"])
|
||||||
|
obj.setAttribute("src",img)
|
||||||
|
obj.setAttribute("height",value["height"])
|
||||||
|
obj.setAttribute("width",value["width"])
|
||||||
|
obj.setAttribute("obj_id",value["id"])
|
||||||
|
obj.innerHTML = `<img src="${img}">`
|
||||||
|
obj_list.append(obj)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function obj_del(){
|
||||||
|
let select = document.getElementById("group_select");
|
||||||
|
let menu = document.getElementById("object_edit_menu");
|
||||||
|
if (confirm(`are you sure you want to delete object ${menu.getAttribute("obj_name").split("/")[0]}`)){
|
||||||
|
$.post( "/admin/obj/del", { id:menu.getAttribute(`obj_id`),gid:select.options[select.selectedIndex].getAttribute("gid"),name:menu.getAttribute("obj_name")})
|
||||||
|
.done(function( res ) {
|
||||||
|
if(res["out"] == "good"){
|
||||||
|
edit_get_objs();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function save_edited_obj(){
|
||||||
|
let select = document.getElementById("group_select");
|
||||||
|
let menu = document.getElementById("object_edit_menu");
|
||||||
|
let attributes = ["name","description","img","height","width"];
|
||||||
|
let cur_atts = {
|
||||||
|
name : document.getElementById("nobj_name").value,
|
||||||
|
description : document.getElementById("nobj_description").value,
|
||||||
|
height : document.getElementById("obj_height").value,
|
||||||
|
width : document.getElementById("obj_width").value,
|
||||||
|
img : document.querySelector('#img_prev').src
|
||||||
|
}
|
||||||
|
let changes = {}
|
||||||
|
localStorage.removeItem((cur_atts["name"]+"/g/"+select.options[select.selectedIndex].value).replace(" ","$"));
|
||||||
|
attributes.forEach(element => {
|
||||||
|
// console.log(cur_atts[element],menu.getAttribute(`obj_${element}`));
|
||||||
|
if(element != attributes.at(-1)){
|
||||||
|
check_change(element);
|
||||||
|
// console.log(element);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
check_change(element);
|
||||||
|
// console.log(changes);
|
||||||
|
if(Object.keys(changes).length > 0){
|
||||||
|
make_obj_save(changes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
function check_change(element){
|
||||||
|
if(element == "name" && cur_atts[element] != menu.getAttribute(`obj_${element}`).split("/")[0]){
|
||||||
|
changes[element] = cur_atts[element];
|
||||||
|
}
|
||||||
|
else if (element != "name" && cur_atts[element] != menu.getAttribute(`obj_${element}`)){
|
||||||
|
changes[element] = cur_atts[element];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function make_obj_save(){
|
||||||
|
if(changes["name"]) changes["name"] = (changes["name"]+"/g/"+select.options[select.selectedIndex].value).replace(" ","$");
|
||||||
|
document.getElementById("obj_resp").innerHTML = "saving object";
|
||||||
|
$.post( "/admin/obj/edit", { id:menu.getAttribute(`obj_id`),changes:JSON.stringify(changes),gid:select.options[select.selectedIndex].getAttribute("gid")})
|
||||||
|
.done(function( res ) {
|
||||||
|
// console.log(res);
|
||||||
|
if(res["out"] == "good"){
|
||||||
|
document.getElementById("obj_resp").innerHTML = "object saved";
|
||||||
|
setTimeout(()=>{
|
||||||
|
edit_get_objs();
|
||||||
|
set_obj_edit_params();
|
||||||
|
if(res["name_err"]){
|
||||||
|
document.getElementById("obj_resp").innerHTML = ("name was not changed because its taken");
|
||||||
|
}
|
||||||
|
},1000)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function edit_load_obj(name,key,callback){
|
function edit_load_obj(name,key,callback){
|
||||||
$.post( "/get_obj",{name:name,key:key})
|
$.post( "/get_obj",{name:name,key:key})
|
||||||
.done(function( res ) {
|
.done(function( res ) {
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
if(res["out"] == "good"){
|
if(res["out"] == "good"){
|
||||||
// console.log(res["body"]);
|
// console.log(res["body"]);
|
||||||
load_groups();
|
load_groups();
|
||||||
|
edit_get_objs();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -33,6 +34,7 @@
|
||||||
if(res["out"] == "good"){
|
if(res["out"] == "good"){
|
||||||
// console.log(res["body"]);
|
// console.log(res["body"]);
|
||||||
load_groups();
|
load_groups();
|
||||||
|
edit_get_objs();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@
|
||||||
document.getElementById(`${key}_${id}`).innerText = value;
|
document.getElementById(`${key}_${id}`).innerText = value;
|
||||||
}
|
}
|
||||||
if(res["out"] == "bad"){
|
if(res["out"] == "bad"){
|
||||||
alert("cant change name in use")
|
alert("this name is in use")
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,6 +122,23 @@
|
||||||
// menu.innerHTML = "<p>Option1</p><p>Option2</p><p>Option3</p><p>Option4</p>"
|
// menu.innerHTML = "<p>Option1</p><p>Option2</p><p>Option3</p><p>Option4</p>"
|
||||||
// document.body.appendChild(menu)
|
// document.body.appendChild(menu)
|
||||||
|
|
||||||
|
}
|
||||||
|
else if(e.target.id == "object_menu"){
|
||||||
|
hide_menus();
|
||||||
|
let menu = document.getElementById("object_edit_menu");
|
||||||
|
let obj = e.target;
|
||||||
|
menu.setAttribute("obj_img",obj.getAttribute("src"));
|
||||||
|
menu.setAttribute("obj_name",obj.getAttribute("name"));
|
||||||
|
menu.setAttribute("obj_description",obj.getAttribute("description"));
|
||||||
|
menu.setAttribute("obj_height",obj.getAttribute("height"));
|
||||||
|
menu.setAttribute("obj_width",obj.getAttribute("width"));
|
||||||
|
menu.setAttribute("obj_id",obj.getAttribute("obj_id"));
|
||||||
|
menu.style.display = 'block';
|
||||||
|
menu.style = `top:${e.target.getBoundingClientRect().top+30}px;left:${e.target.getBoundingClientRect().left-40}px`;
|
||||||
|
// menu.onmouseleave = () => menu.style.display = 'none';
|
||||||
|
// menu.innerHTML = "<p>Option1</p><p>Option2</p><p>Option3</p><p>Option4</p>"
|
||||||
|
// document.body.appendChild(menu)
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
hide_menus();
|
hide_menus();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user