35 lines
12 KiB
JavaScript
Executable File
35 lines
12 KiB
JavaScript
Executable File
// On referencie toutes les sections
|
|
// gestion automatique au chargement de la page si id_user dans url "/users/.+/:id_user:"
|
|
function autofill_remove(){var e={id_user:"",username:"",code:"",disable_input:!0}
|
|
null==found_remove[searchindex_remove]?(section.remove.input.search.num.innerHTML=0,searchindex_remove=0):(e={id_user:found_remove[searchindex_remove].id_user,username:found_remove[searchindex_remove].username,code:found_remove[searchindex_remove].code,disable_input:!1},section.remove.input.search.num.innerHTML=searchindex_remove+1),section.remove.input.search.id.value=e.id_user,section.remove.input.username.value=e.username,section.remove.input.code.value=e.code,section.remove.input.submit.disabled=e.disable_input}function autofill_edit(){var e={id_user:"",code:"",username:"",firstname:"",lastname:"",mail:"",disable_input:!0}
|
|
null==found_edit[searchindex_edit]?(section.edit.input.search.num.innerHTML=0,searchindex_edit=0):(e={id_user:found_edit[searchindex_edit].id_user,code:found_edit[searchindex_edit].code,username:found_edit[searchindex_edit].username,firstname:found_edit[searchindex_edit].firstname,lastname:found_edit[searchindex_edit].lastname,mail:found_edit[searchindex_edit].mail,disable_input:!1},section.edit.input.search.num.innerHTML=searchindex_edit+1),section.edit.input.search.id.value=e.id_user,section.edit.input.code.value=e.code,section.edit.input.username.value=e.username,section.edit.input.firstname.value=e.firstname,section.edit.input.lastname.value=e.lastname,section.edit.input.mail.value=e.mail,section.edit.input.submit.disabled=e.disable_input}var section={view:{text:'#CONTAINER > section[data-sublink="view"] ',element:document.querySelector('#CONTAINER > section[data-sublink="view"]'),searchbar:document.querySelector('#CONTAINER > section[data-sublink="view"] > .searchbar')},create:{text:'#CONTAINER > section[data-sublink="create"] ',element:document.querySelector('#CONTAINER > section[data-sublink="create"]')},remove:{text:'#CONTAINER > section[data-sublink="remove"] ',element:document.querySelector('#CONTAINER > section[data-sublink="remove"]')},edit:{text:'#CONTAINER > section[data-sublink="edit"] ',element:document.querySelector('#CONTAINER > section[data-sublink="edit"]')},groups:{text:'#CONTAINER > section[data-sublink="groups"] ',element:document.querySelector('#CONTAINER > section[data-sublink="groups"]'),searchbar:document.querySelector('#CONTAINER > section[data-sublink="groups"] > .searchbar')}}
|
|
if(null!=section.view.element){pageManager.vars.length>1&&!isNaN(pageManager.vars[1])&&(document.location="#"+pageManager.vars[1],null!=document.getElementById(pageManager.vars[1])&&document.getElementById(pageManager.vars[1]).addClass("selected")),section.view.link={edit:document.querySelectorAll(section.view.text+".link_edit[data-user]"),remove:document.querySelectorAll(section.view.text+".link_remove[data-user]")},section.view.group={rem:document.querySelectorAll(section.view.text+".rem-group[data-user][data-group]"),add:document.querySelectorAll(section.view.text+".add-group[data-user]")},section.view.searchbar.addEventListener("keyup",function(e){var t={path:"userDefault/search",keywords:section.view.searchbar.value}
|
|
api.send(t,function(e){if(0==e.ModuleError&&(console.log(e.users.length),0==e.ModuleError)){for(var t=[],r=0;r<e.users.length;r++)t.push(e.users[r].id_user)
|
|
for(var i=document.querySelectorAll(section.view.text+"> article.inline-box[id]"),r=0;r<i.length;r++)t.indexOf(i[r].id)>-1?i[r].remClass("hidden"):i[r].addClass("hidden")}})},!1)
|
|
for(var i=0;i<section.view.link.edit.length;i++)section.view.link.edit[i].addEventListener("click",function(e){pageManager.vars=["edit",e.target.getData("user")],pageManager.refresh()},!1)
|
|
for(var i=0;i<section.view.link.remove.length;i++)section.view.link.remove[i].addEventListener("click",function(e){pageManager.vars=["remove",e.target.getData("user")],pageManager.refresh()},!1)
|
|
for(var i=0;i<section.view.group.rem.length;i++)section.view.group.rem[i].addEventListener("click",function(e){var t={path:"userDefault/unlink",id_user:e.target.getData("user"),id_cluster:e.target.getData("group")}
|
|
api.send(t,function(t){return 0==t.ModuleError&&void e.target.parentNode.parentNode.removeChild(e.target.parentNode)})},!1)}if(null!=section.create.element){section.create.input={code:document.querySelector(section.create.text+"#create_code"),username:document.querySelector(section.create.text+"#create_username"),firstname:document.querySelector(section.create.text+"#create_firstname"),lastname:document.querySelector(section.create.text+"#create_lastname"),mail:document.querySelector(section.create.text+"#create_mail"),submit:document.querySelector(section.create.text+"#create_submit")}
|
|
var createChecker=new inputChecker
|
|
createChecker.append(section.create.input.code,format_code,"01-AB-CD-23"),section.create.input.code.addEventListener("keyup",function(e){e.target.value=e.target.value.toUpperCase(),createChecker.check(e.target)||createChecker.correct(e.target,!1)},!1),section.create.input.submit.addEventListener("click",function(e){e.preventDefault()
|
|
var t={path:"userDefault/create",code:section.create.input.code.value,username:section.create.input.username.value,firstname:section.create.input.firstname.value,lastname:section.create.input.lastname.value,mail:section.create.input.mail.value}
|
|
api.send(t,function(e){0==e.ModuleError?(console.log("Utilisateur cree!"),section.create.input.submit.anim("active",1500),section.create.input.code.value="",section.create.input.username.value="",section.create.input.firstname.value="",section.create.input.lastname.value="",section.create.input.mail.value=""):console.error("ModuleError::"+e.ModuleError)})},!1)}var lastkeywords_remove="",found_remove=[],searchindex_remove=0
|
|
null!=section.remove.element&&(section.remove.input={search:{view:document.querySelector(section.remove.text+".remove_search_view"),num:document.querySelector(section.remove.text+".remove_search_num"),sum:document.querySelector(section.remove.text+".remove_search_sum"),keyword:document.querySelector(section.remove.text+"#remove_search_keyword"),id:document.querySelector(section.remove.text+"#remove_search_id"),submit:document.querySelector(section.remove.text+"#remove_search_submit")},code:document.querySelector(section.remove.text+"#remove_code"),username:document.querySelector(section.remove.text+"#remove_username"),submit:document.querySelector(section.remove.text+"#remove_submit")},section.remove.input.search.submit.addEventListener("click",function(e){if(e.preventDefault(),""!=section.remove.input.search.keyword.value)if(section.remove.input.search.keyword.value==lastkeywords_remove)searchindex_remove=(searchindex_remove+1)%found_remove.length,autofill_remove()
|
|
else{var t={path:"userDefault/search",keywords:section.remove.input.search.keyword.value}
|
|
api.send(t,function(e){0==e.ModuleError&&(section.remove.input.search.submit.anim("active",1e3),searchindex_remove=0,found_remove=e.users,section.remove.input.search.sum.innerHTML=found_remove.length,autofill_remove()),lastkeywords_remove=t.keywords})}},!1),section.remove.input.submit.addEventListener("click",function(e){if(e.preventDefault(),""!=section.remove.input.search.id.value){var t={path:"userDefault/delete",id_user:section.remove.input.search.id.value}
|
|
api.send(t,function(e){if(0==e.ModuleError&&1==e.status){if(console.log("Utilisateur supprime!"),section.remove.input.submit.anim("active",1500),0==section.remove.input.search.keyword.value.length)found_remove=[],searchindex_remove=0
|
|
else{var t={path:"userDefault/search",keywords:section.remove.input.search.keyword.value}
|
|
api.send(t,function(e){0==e.ModuleError&&(searchindex_remove=0,found_remove=e.users,section.remove.input.search.sum.innerHTML=found_remove.length)})}autofill_remove()}else console.error("ModuleError::"+e.ModuleError)})}},!1))
|
|
var lastkeywords_edit="",found_edit=[],searchindex_edit=0
|
|
if(null!=section.edit.element&&(section.edit.input={search:{view:document.querySelector(section.edit.text+".edit_search_view"),num:document.querySelector(section.edit.text+".edit_search_num"),sum:document.querySelector(section.edit.text+".edit_search_sum"),keyword:document.querySelector(section.edit.text+"#edit_search_keyword"),id:document.querySelector(section.edit.text+"#edit_search_id"),submit:document.querySelector(section.edit.text+"#edit_search_submit")},code:document.querySelector(section.edit.text+"#edit_code"),username:document.querySelector(section.edit.text+"#edit_username"),firstname:document.querySelector(section.edit.text+"#edit_firstname"),lastname:document.querySelector(section.edit.text+"#edit_lastname"),mail:document.querySelector(section.edit.text+"#edit_mail"),submit:document.querySelector(section.edit.text+"#edit_submit")},section.edit.input.search.submit.addEventListener("click",function(e){if(e.preventDefault(),""!=section.edit.input.search.keyword.value)if(section.edit.input.search.keyword.value==lastkeywords_edit)searchindex_edit=(searchindex_edit+1)%found_edit.length,autofill_edit()
|
|
else{var t={path:"userDefault/search",keywords:section.edit.input.search.keyword.value}
|
|
api.send(t,function(e){0==e.ModuleError&&(section.edit.input.search.submit.anim("active",1e3),searchindex_edit=0,found_edit=e.users,section.edit.input.search.sum.innerHTML=found_edit.length,autofill_edit()),lastkeywords_edit=t.keywords})}},!1),section.edit.input.submit.addEventListener("click",function(e){if(e.preventDefault(),""!=section.edit.input.search.id.value){var t={path:"userDefault/edit",id_user:parseInt(section.edit.input.search.id.value),code:section.edit.input.code.value,username:section.edit.input.username.value,firstname:section.edit.input.firstname.value,lastname:section.edit.input.lastname.value,mail:section.edit.input.mail.value}
|
|
api.send(t,function(e){console.log(e),0==e.ModuleError&&1==e.status?(console.log("Utilisateur modifie!"),section.edit.input.submit.anim("active",1500),api.send({path:"userDefault/getById",id_user:t.id_user},function(e){0==e.ModuleError&&(found_edit[searchindex_edit]=e.user,autofill_edit())})):console.error("ModuleError::"+e.ModuleError)})}},!1)),pageManager.vars.length>=2&&!isNaN(pageManager.vars[1])&&api.send({path:"userDefault/getById",id_user:pageManager.vars[1]},function(e){0==e.ModuleError&&(found_edit=[e.user],searchindex_edit=0,autofill_edit(),found_remove=[e.user],searchindex_remove=0,autofill_remove())}),null!=section.groups.element){section.groups.link={remove:document.querySelectorAll(section.groups.text+".link_remove[data-cluster]"),edit:document.querySelectorAll(section.groups.text+".link_edit[data-cluster]")},section.groups.group={rem:document.querySelectorAll(section.groups.text+".rem-member[data-cluster][data-member]"),add:document.querySelectorAll(section.groups.text+".add-member[data-cluster]")},section.groups.searchbar.addEventListener("keyup",function(e){var t={path:"clusterDefault/search",keywords:section.groups.searchbar.value,class:0}
|
|
api.send(t,function(e){if(0==e.ModuleError){for(var t=[],r=0;r<e.clusters.length;r++)t.push(e.clusters[r].id_user_cluster)
|
|
for(var i=document.querySelectorAll(section.groups.text+"> article.inline-box[id]"),r=0;r<i.length;r++)t.indexOf(parseInt(i[r].id))>-1?i[r].remClass("hidden"):i[r].addClass("hidden")}})},!1)
|
|
var i
|
|
for(i=0;i<section.groups.link.edit.length;i++)section.groups.link.edit[i].addEventListener("click",function(e){pageManager.vars=["edit","u"+e.target.getData("cluster")],console.warn("edit",pageManager.vars),navMenu("groups",!0)},!1)
|
|
for(i=0;i<section.groups.link.remove.length;i++)section.groups.link.remove[i].addEventListener("click",function(e){pageManager.vars=["remove","u"+e.target.getData("cluster")],console.warn("remove",pageManager.vars),navMenu("groups",!0)},!1)
|
|
for(i=0;i<section.groups.group.rem.length;i++)section.groups.group.rem[i].addEventListener("click",function(e){var t={path:"userDefault/unlink",id_cluster:e.target.getData("cluster"),id_user:e.target.getData("member")}
|
|
api.send(t,function(t){return 0==t.ModuleError&&void e.target.parentNode.parentNode.removeChild(e.target.parentNode)})},!1)
|
|
for(i=0;i<section.groups.group.add.length;i++)section.groups.group.add[i].addEventListener("click",function(e){pageManager.vars=["members","u"+e.target.getData("cluster")],console.warn("members",pageManager.vars),navMenu("groups",!0)},!1)} |