function makeMenuLevel(arr) {
let ul = '<ul>';
for (let i = 0; i < arr.length; i++) {
let item = arr[i];
ul += '<li>' + item.title + '</li>';
for (let j = 0; j < item.children.length; j++) {
let child = item.children[j];
if (j === 0) {
ul += '<ul>';
}
ul += '<li>' + child.title + '</li>';
if (child.children) {
for (let k = 0; k < child.children.length; k++) {
let child2 = child.children[k];
if (k === 0) {
ul += '<ul>';
}
ul += '<li>' + child2.title + '</li>';
if (child2.children) {
for (let n = 0; n < child2.children.length; n++) {
let child3 = child2.children[n];
if (n === 0) {
ul += '<ul>';
}
ul += '<li>' + child3.title + '</li>';
if (n === child2.children.length - 1) {
ul += '</ul>';
}
}
}
if (k === child.children.length - 1) {
ul += '</ul>';
}
}
}
if (j === item.children.length - 1) {
ul += '</ul>';
}
}
}
ul += '</ul>';
console.log(ul)
document.body.innerHTML = ul;
}
const menu = fetchTodos('/menu')
const viewMenu = makeMenuLevel(menu)
async function fetchTodos(url) {
this.url = url
this.options = {
method: 'POST'
}
console.log('Fetch todo started...')
const response = await fetch(this.url,this.options)
const data = await response.json()
console.log(data)
return data
}
let viewmenu
pool.query('SELECT * FROM menu', (err, result) => {
if(err) {
console.error(err)
}
const index = result.reduce((acc, row) => ({...acc, [row.id]: row}), {})
var menu = []
for(const row of result) {
if(row.parent_id === 0) {
menu.push(row)
continue
}
const parent = index[row.parent_id]
if(!parent) {
console.warn(`Undefined parent with id ${row.parent_id}`)
continue
}
if(!parent.children) {
parent.children = []
}
parent.children.push(row)
}
viewmenu = menu
})
const send = ms => {
return new Promise(r => setTimeout(() => r(), ms))
}
send(200).then(() => res.send(viewmenu))
const docs = data[findId].documents.split(',')
for(i=0; i<docs.length; i++) {
$('.documents .value').append(`<img src='../images/${docs[i]}'>`)
}
const docs = data[findId].documents.split(',')
for(i=0; i<docs.length; i++) {
$('.documents .value').append(`<img src='../images/${docs[i]}'>`)
}
function docs(arg) {
arg = arg.split(',')
for(i=0; i<arg.length; i++) {
$('.documents .value').append(`<img src='../images/${arg[i]}'>`)
}
}
docs(data[findId].documents)
let id = '<div class="id">'+data[findId].id+'</div>',
name = '<div class="touch name"><div class="info">Название:</div><div class="value">'+data[findId].name+'</div><div class="fas fa-pencil-alt"></div></div>',
name2 = '<div class="touch item name2"><div class="info">Сокращенное название:</div><div class="value">'+data[findId].name2+'</div><div class="fas fa-pencil-alt"></div></div>',
name3 = '<div class="touch item name3"><div class="info">Полное название:</div><div class="value">'+data[findId].name3+'</div><div class="fas fa-pencil-alt"></div></div>',
email = '<div class="touch item email"><div class="info">E-mail:</div><div class="value">'+data[findId].email+'</div><div class="fas fa-pencil-alt"></div></div>',
region = '<div class="touch item region"><div class="info">Регион:</div><div class="value">'+data[findId].region+'</div><div class="fas fa-pencil-alt"></div></div>',
city = '<div class="touch item city"><div class="info">Город:</div><div class="value">'+data[findId].city+'</div><div class="fas fa-pencil-alt"></div></div>',
street = '<div class="touch item street"><div class="info">Поселок,улица,дом:</div><div class="value">'+data[findId].street+'</div><div class="fas fa-pencil-alt"></div></div>',
face = '<div class="touch item face"><div class="info">Юридический адрес:</div><div class="value">'+data[findId].face+'</div><div class="fas fa-pencil-alt"></div></div>',
physic = '<div class="touch item physic"><div class="info">Фактический адрес:</div><div class="value">'+data[findId].physic+'</div><div class="fas fa-pencil-alt"></div></div>',
index = '<div class="touch item index"><div class="info">Почтовый адрес:</div><div class="value">'+data[findId].indexx+'</div><div class="fas fa-pencil-alt"></div></div>',
phone = '<div class="touch item phone"><div class="info">Телефон:</div><div class="value">'+data[findId].phone+'</div><div class="fas fa-pencil-alt"></div></div>',
orgn = '<div class="touch item orgn"><div class="info">ОРГН:</div><div class="value">'+data[findId].orgn+'</div><div class="fas fa-pencil-alt"></div></div>',
documents = '<div class="touch item documents"><div class="info">Документы:</div><form enctype="multipart/form-data" action="/upload" method="POST"><input type="file" name="imgUploader" multiple><button type="submit">Загрузить</button></form><div class="value"></div><div class="fas fa-pencil-alt"></div></div>',
creator = '<div class="touch item creator"><div class="info">Роли:</div><div class="value">'+role.name+'</div><div class="fas fa-pencil-alt"></div></div>',
bank = '<div class="touch item bank"><div class="info">Банк:</div><div class="value">'+data[findId].bank+'</div><div class="fas fa-pencil-alt"></div></div>',
bik = '<div class="touch item bik"><div class="info">БИК:</div><div class="value">'+data[findId].bik+'</div><div class="fas fa-pencil-alt"></div></div>',
rs = '<div class="touch item rs"><div class="info">Р/С:</div><div class="value">'+data[findId].rs+'</div><div class="fas fa-pencil-alt"></div></div>',
ks = '<div class="touch item ks"><div class="info">К/С:</div><div class="value">'+data[findId].ks+'</div><div class="fas fa-pencil-alt"></div></div>',
button = '<button class="save">Сохранить</button>'
$('.control-company *').detach()
$('.control-company').append(id+name+name2+name3+email+region+city+street+face+physic+index+phone+orgn+documents+creator+bank+bik+rs+ks+button)