This commit is contained in:
2023-09-17 02:48:43 +05:00
parent 9cf2250b7b
commit 898391ef3b
36 changed files with 18333 additions and 311 deletions

View File

@ -75,10 +75,11 @@ function check_sid(redirect = true){
}
function logout(redirect = true) {
let dialog = confirm(`выйти?`);
if(dialog){
clear_ck(redirect);
}
msg(`Выйти?`,{type:"ask",res:(out)=>{
if(out){
clear_ck(redirect);
}
}});
}
function ask(text,def = "") {
@ -119,7 +120,7 @@ function load_groups(callback,groups,admin = false){
group_inp.setAttribute("onchange",`group_check(${group["id"]})`)
// group_inp.innerText = group["name"].replaceAll("$"," ");
group_inp.setAttribute("group_count",group["count"]);
console.log(group["count"]);
// console.log(group["count"]);
group_inp.setAttribute("gid",group["id"]);
group_inp.id = `obj_group_${group["id"]}`;
group_inp.setAttribute("group_name",`${group["name"].replaceAll("$"," ")}`);
@ -129,17 +130,17 @@ function load_groups(callback,groups,admin = false){
group_inp.setAttribute("checked","true");
}
// console.log(document.url);
if(admin){
let group_del_btn = document.createElement("button");
group_del_btn.setAttribute("onclick",`delete_group(${group["id"]},${group["pid"]})`)
group_del_btn.innerText = "удалить";
group_del_btn.style = "font-size: 1vw;width: 70px;";
group_del_btn.classList.add("btn_blue");
group_del_btn.style = "font-size: 0.8vw;width: 70px;";
group_div.append(group_del_btn)
}
group_div.append(group_inp);
group_div.append(group_label);
group_div.append(group_inp);
select.append(group_div)
}
// callback(res);
@ -175,6 +176,13 @@ function group_check(gid){
}
}
function color_change(hex,img,callback){
$.post( `/color`,{hex:hex,img:img})
.done(function( res ) {
if(callback) callback(res);
});
}
function load_parts(callback){
let parts_div = document.getElementById("part_select");
$.post( "/object/parts/get", {})
@ -249,4 +257,47 @@ var openFile = function(event,callback) {
callback(text)
};
reader.readAsText(input.files[0]);
};
};
async function removeImageBackground(image) {
const backgroundColor = { red: 255, green: 255, blue: 255 };
const threshold = 10;
const imageElement = new Image();
imageElement.src = image;
await new Promise(function(resolve) { imageElement.addEventListener('load', resolve); });
var canvas = document.createElement('canvas');
canvas.width = imageElement.naturalWidth;
canvas.height = imageElement.naturalHeight;
var ctx = canvas.getContext('2d');
ctx.drawImage(imageElement, 0, 0);
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
for (var i = 0; i < imageData.data.length; i += 4) {
const red = imageData.data[i];
const green = imageData.data[i + 1];
const blue = imageData.data[i + 2];
if (Math.abs(red - backgroundColor.red) < threshold &&
Math.abs(green - backgroundColor.green) < threshold &&
Math.abs(blue - backgroundColor.blue) < threshold) {
imageData.data[i + 3] = 0;
}
}
ctx.putImageData(imageData, 0, 0);
return canvas.toDataURL(`image/png`);
}
function downloadImg(url, filename) {
fetch(url)
.then(response => response.blob())
.then(blob => {
const link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.download = filename;
link.click();
})
.catch(console.error);
}