various fixes
This commit is contained in:
parent
baa224ab91
commit
72ac3a14ed
8 changed files with 50 additions and 3 deletions
|
@ -930,6 +930,10 @@ class Channel extends SnowFlake {
|
|||
if (this.localuser.channelfocus !== this) {
|
||||
return;
|
||||
}
|
||||
for (const elm of messages.getElementsByClassName("scroller")) {
|
||||
elm.remove();
|
||||
console.warn("rouge element detected and removed");
|
||||
}
|
||||
messages.append(await this.infinite.getDiv(id));
|
||||
this.infinite.updatestuff();
|
||||
this.infinite.watchForChange().then(async (_) => {
|
||||
|
|
|
@ -46,7 +46,7 @@ class Guild extends SnowFlake {
|
|||
});
|
||||
Guild.contextmenu.addbutton("Create invite", function () {
|
||||
}, null, _ => true, _ => false);
|
||||
Guild.contextmenu.addbutton("Settings[temp]", function () {
|
||||
Guild.contextmenu.addbutton("Settings", function () {
|
||||
this.generateSettings();
|
||||
});
|
||||
/* -----things left for later-----
|
||||
|
@ -62,6 +62,16 @@ class Guild extends SnowFlake {
|
|||
}
|
||||
generateSettings() {
|
||||
const settings = new Settings("Settings for " + this.properties.name);
|
||||
{
|
||||
const overview = settings.addButton("Overview");
|
||||
const form = overview.addForm("", _ => { }, {
|
||||
headers: this.headers,
|
||||
traditionalSubmit: true,
|
||||
fetchURL: this.info.api + "/guilds/" + this.id,
|
||||
method: "PATCH"
|
||||
});
|
||||
form.addTextInput("Name:", "name", { initText: this.properties.name });
|
||||
}
|
||||
const s1 = settings.addButton("roles");
|
||||
const permlist = [];
|
||||
for (const thing of this.roles) {
|
||||
|
|
|
@ -17,6 +17,9 @@ class InfiniteScroller {
|
|||
timeout;
|
||||
async getDiv(initialId, bottom = true) {
|
||||
//div.classList.add("flexttb")
|
||||
if (this.div) {
|
||||
throw new Error("Div already exists, exiting.");
|
||||
}
|
||||
const scroll = document.createElement("div");
|
||||
scroll.classList.add("flexttb", "scroller");
|
||||
this.beenloaded = false;
|
||||
|
@ -63,6 +66,7 @@ class InfiniteScroller {
|
|||
averageheight = 60;
|
||||
checkscroll() {
|
||||
if (this.beenloaded && this.div && !document.body.contains(this.div)) {
|
||||
console.warn("not in document");
|
||||
this.div = null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -544,6 +544,12 @@ class Options {
|
|||
this.generate(text);
|
||||
return text;
|
||||
}
|
||||
addForm(name, onSubmit, { ltr = false, submitText = "Submit", fetchURL = "", headers = {}, method = "POST", traditionalSubmit = false } = {}) {
|
||||
const options = new Form(name, this, onSubmit, { ltr, submitText, fetchURL, headers, method, traditionalSubmit });
|
||||
this.options.push(options);
|
||||
this.generate(options);
|
||||
return options;
|
||||
}
|
||||
generate(elm) {
|
||||
const container = this.container.deref();
|
||||
if (container) {
|
||||
|
|
|
@ -935,6 +935,10 @@ class Channel extends SnowFlake{
|
|||
if(this.localuser.channelfocus!==this){
|
||||
return;
|
||||
}
|
||||
for(const elm of messages.getElementsByClassName("scroller")){
|
||||
elm.remove();
|
||||
console.warn("rouge element detected and removed")
|
||||
}
|
||||
messages.append(await this.infinite.getDiv(id));
|
||||
this.infinite.updatestuff();
|
||||
this.infinite.watchForChange().then(async _=>{
|
||||
|
|
|
@ -55,7 +55,7 @@ class Guild extends SnowFlake{
|
|||
|
||||
Guild.contextmenu.addbutton("Create invite",function(this:Guild){
|
||||
},null,_=>true,_=>false);
|
||||
Guild.contextmenu.addbutton("Settings[temp]",function(this:Guild){
|
||||
Guild.contextmenu.addbutton("Settings",function(this:Guild){
|
||||
this.generateSettings();
|
||||
});
|
||||
/* -----things left for later-----
|
||||
|
@ -71,7 +71,16 @@ class Guild extends SnowFlake{
|
|||
}
|
||||
generateSettings(){
|
||||
const settings=new Settings("Settings for "+this.properties.name);
|
||||
|
||||
{
|
||||
const overview=settings.addButton("Overview");
|
||||
const form=overview.addForm("",_=>{},{
|
||||
headers:this.headers,
|
||||
traditionalSubmit:true,
|
||||
fetchURL:this.info.api+"/guilds/"+this.id,
|
||||
method:"PATCH"
|
||||
})
|
||||
form.addTextInput("Name:","name",{initText:this.properties.name})
|
||||
}
|
||||
const s1=settings.addButton("roles");
|
||||
const permlist:[Role,Permissions][]=[];
|
||||
for(const thing of this.roles){
|
||||
|
|
|
@ -17,6 +17,9 @@ class InfiniteScroller{
|
|||
timeout:NodeJS.Timeout|null;
|
||||
async getDiv(initialId:string,bottom=true):Promise<HTMLDivElement>{
|
||||
//div.classList.add("flexttb")
|
||||
if(this.div){
|
||||
throw new Error("Div already exists, exiting.")
|
||||
}
|
||||
const scroll=document.createElement("div");
|
||||
scroll.classList.add("flexttb","scroller");
|
||||
this.beenloaded=false;
|
||||
|
@ -66,6 +69,7 @@ class InfiniteScroller{
|
|||
averageheight:number=60;
|
||||
checkscroll(){
|
||||
if(this.beenloaded&&this.div&&!document.body.contains(this.div)){
|
||||
console.warn("not in document");
|
||||
this.div=null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -556,6 +556,12 @@ class Options implements OptionsElement<void>{
|
|||
this.generate(text);
|
||||
return text;
|
||||
}
|
||||
addForm(name:string,onSubmit:((arg1:object)=>void),{ltr=false,submitText="Submit",fetchURL="",headers={},method="POST",traditionalSubmit=false}={}){
|
||||
const options=new Form(name,this,onSubmit,{ltr,submitText,fetchURL,headers,method,traditionalSubmit});
|
||||
this.options.push(options);
|
||||
this.generate(options);
|
||||
return options;
|
||||
}
|
||||
generate(elm:OptionsElement<any>){
|
||||
const container=this.container.deref();
|
||||
if(container){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue