Various improvements and checks
This commit is contained in:
parent
a2abc91a2a
commit
1608d00beb
30 changed files with 541 additions and 360 deletions
|
@ -45,12 +45,6 @@ class Message {
|
|||
this.del = new Promise(_ => { this.resolve = _; });
|
||||
Message.setupcmenu();
|
||||
}
|
||||
static async wipeChanel() {
|
||||
this.resolve();
|
||||
document.getElementById("messages").innerHTML = "";
|
||||
await Promise.allSettled([this.resolve]);
|
||||
this.del = new Promise(_ => { this.resolve = _; });
|
||||
}
|
||||
static setupcmenu() {
|
||||
Message.contextmenu.addbutton("Copy raw text", function () {
|
||||
navigator.clipboard.writeText(this.content.rawString);
|
||||
|
@ -69,7 +63,7 @@ class Message {
|
|||
});
|
||||
Message.contextmenu.addbutton("Edit", function () {
|
||||
this.channel.editing = this;
|
||||
const markdown = (document.getElementById("typebox"))["markdown"];
|
||||
const markdown = document.getElementById("typebox")["markdown"];
|
||||
markdown.txt = this.content.rawString.split('');
|
||||
markdown.boxupdate(document.getElementById("typebox"));
|
||||
}, null, _ => { return _.author.id === _.localuser.user.id; });
|
||||
|
@ -81,6 +75,7 @@ class Message {
|
|||
this.owner = owner;
|
||||
this.headers = this.owner.headers;
|
||||
this.giveData(messagejson);
|
||||
this.owner.messages.set(this.id, this);
|
||||
}
|
||||
reactionToggle(emoji) {
|
||||
let remove = false;
|
||||
|
@ -121,7 +116,9 @@ class Message {
|
|||
continue;
|
||||
}
|
||||
else if (thing === "member") {
|
||||
Member.new(messagejson.member, this.guild).then(_ => { this.member = _; });
|
||||
Member.new(messagejson.member, this.guild).then(_ => {
|
||||
this.member = _;
|
||||
});
|
||||
continue;
|
||||
}
|
||||
else if (thing === "embeds") {
|
||||
|
@ -182,7 +179,7 @@ class Message {
|
|||
return;
|
||||
try {
|
||||
this.div.remove();
|
||||
this.div = null;
|
||||
this.div = undefined;
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e);
|
||||
|
@ -221,23 +218,37 @@ class Message {
|
|||
deleteEvent() {
|
||||
if (this.div) {
|
||||
this.div.innerHTML = "";
|
||||
this.div = null;
|
||||
this.div = undefined;
|
||||
}
|
||||
const prev = this.channel.idToPrev.get(this.snowflake);
|
||||
const next = this.channel.idToNext.get(this.snowflake);
|
||||
this.channel.idToNext.set(prev, next);
|
||||
this.channel.idToPrev.set(next, prev);
|
||||
if (prev) {
|
||||
this.channel.idToPrev.delete(this.snowflake);
|
||||
}
|
||||
if (next) {
|
||||
this.channel.idToNext.delete(this.snowflake);
|
||||
}
|
||||
if (prev && next) {
|
||||
this.channel.idToPrev.set(next, prev);
|
||||
this.channel.idToNext.set(prev, next);
|
||||
}
|
||||
this.channel.messageids.delete(this.snowflake);
|
||||
const regen = prev.getObject();
|
||||
if (regen) {
|
||||
regen.generateMessage();
|
||||
if (prev && prev.getObject()) {
|
||||
prev.getObject().generateMessage();
|
||||
}
|
||||
if (this.channel.lastmessage === this) {
|
||||
this.channel.lastmessage = prev.getObject();
|
||||
if (prev) {
|
||||
this.channel.lastmessage = prev.getObject();
|
||||
}
|
||||
else {
|
||||
this.channel.lastmessage = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
reactdiv;
|
||||
generateMessage(premessage = null) {
|
||||
generateMessage(premessage = undefined) {
|
||||
if (!this.div)
|
||||
return;
|
||||
if (!premessage) {
|
||||
premessage = this.channel.idToPrev.get(this.snowflake)?.getObject();
|
||||
}
|
||||
|
@ -467,13 +478,12 @@ class Message {
|
|||
}
|
||||
}
|
||||
}
|
||||
buildhtml(premessage) {
|
||||
buildhtml(premessage = undefined) {
|
||||
if (this.div) {
|
||||
console.error(`HTML for ${this.snowflake} already exists, aborting`);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
//premessage??=messages.lastChild;
|
||||
const div = document.createElement("div");
|
||||
this.div = div;
|
||||
this.messageevents(div);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue