forked from mystiq/hydrogen-web
extract methods here
This commit is contained in:
parent
a4a7c23148
commit
061f44f475
1 changed files with 34 additions and 20 deletions
|
@ -64,17 +64,7 @@ export class BaseEventEntry extends BaseEntry {
|
|||
const relationEntry = entry.redactingEntry || entry;
|
||||
if (relationEntry.isRelatedToId(this.id)) {
|
||||
if (relationEntry.relation.rel_type === ANNOTATION_RELATION_TYPE) {
|
||||
if (!this._pendingAnnotations) {
|
||||
this._pendingAnnotations = new Map();
|
||||
}
|
||||
const {key} = (entry.redactingEntry || entry).relation;
|
||||
if (key) {
|
||||
let annotation = this._pendingAnnotations.get(key);
|
||||
if (!annotation) {
|
||||
annotation = new PendingAnnotation();
|
||||
this._pendingAnnotations.set(key, annotation);
|
||||
}
|
||||
annotation.add(entry);
|
||||
if (this._addPendingAnnotation(entry)) {
|
||||
return "pendingAnnotations";
|
||||
}
|
||||
}
|
||||
|
@ -100,15 +90,7 @@ export class BaseEventEntry extends BaseEntry {
|
|||
const relationEntry = entry.redactingEntry || entry;
|
||||
if (relationEntry.isRelatedToId(this.id)) {
|
||||
if (relationEntry.relation?.rel_type === ANNOTATION_RELATION_TYPE && this._pendingAnnotations) {
|
||||
const {key} = (entry.redactingEntry || entry).relation;
|
||||
if (key) {
|
||||
let annotation = this._pendingAnnotations.get(key);
|
||||
if (annotation.remove(entry) && annotation.isEmpty) {
|
||||
this._pendingAnnotations.delete(key);
|
||||
}
|
||||
if (this._pendingAnnotations.size === 0) {
|
||||
this._pendingAnnotations = null;
|
||||
}
|
||||
if (this._removePendingAnnotation(entry)) {
|
||||
return "pendingAnnotations";
|
||||
}
|
||||
}
|
||||
|
@ -116,6 +98,38 @@ export class BaseEventEntry extends BaseEntry {
|
|||
}
|
||||
}
|
||||
|
||||
_addPendingAnnotation(entry) {
|
||||
if (!this._pendingAnnotations) {
|
||||
this._pendingAnnotations = new Map();
|
||||
}
|
||||
const {key} = (entry.redactingEntry || entry).relation;
|
||||
if (key) {
|
||||
let annotation = this._pendingAnnotations.get(key);
|
||||
if (!annotation) {
|
||||
annotation = new PendingAnnotation();
|
||||
this._pendingAnnotations.set(key, annotation);
|
||||
}
|
||||
annotation.add(entry);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
_removePendingAnnotation(entry) {
|
||||
const {key} = (entry.redactingEntry || entry).relation;
|
||||
if (key) {
|
||||
let annotation = this._pendingAnnotations.get(key);
|
||||
if (annotation.remove(entry) && annotation.isEmpty) {
|
||||
this._pendingAnnotations.delete(key);
|
||||
}
|
||||
if (this._pendingAnnotations.size === 0) {
|
||||
this._pendingAnnotations = null;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
async abortPendingRedaction() {
|
||||
if (this._pendingRedactions) {
|
||||
for (const pee of this._pendingRedactions) {
|
||||
|
|
Loading…
Reference in a new issue