getUser back to CorpusList

This commit is contained in:
Inga Kirschnick
2023-06-07 13:39:04 +02:00
parent 62d20409ea
commit 4944d31dd5
6 changed files with 56 additions and 31 deletions

View File

@ -20,6 +20,43 @@ class CorpusList extends ResourceList {
if (this.isInitialized) {this.onPatch(patch);}
});
});
app.getUser(this.userId).then((user) => {
this.add(this.equalizer(user));
this.isInitialized = true;
});
}
equalizer(user) {
const equalizedData = [];
for (let corpus of Object.values(user.corpora)) {
equalizedData.push(
{
'id': corpus.id,
'creation-date': corpus.creation_date,
'description': corpus.description,
'status': corpus.status,
'title': corpus.title,
'owner': user.username,
'is-owner': true,
'current-user-is-following': false
}
);
}
for (let cfa of Object.values(user.corpus_follower_associations)) {
equalizedData.push(
{
'id': cfa.corpus.id,
'creation-date': cfa.corpus.creation_date,
'description': cfa.corpus.description,
'status': cfa.corpus.status,
'title': cfa.corpus.title,
'owner': cfa.corpus.user.username,
'is-owner': false,
'current-user-is-following': true
}
);
}
return equalizedData;
}
// #region Mandatory getters and methods to implement
@ -93,17 +130,8 @@ class CorpusList extends ResourceList {
`.trim();
}
mapResourceToValue(corpus) {
return {
'id': corpus.id,
'creation-date': corpus.creation_date,
'description': corpus.description,
'status': corpus.status,
'title': corpus.title,
'owner': corpus.user.username,
'is-owner': corpus.user.id === this.userId ? true : false,
'current-user-is-following': Object.values(corpus.corpus_follower_associations).some(association => association.follower.id === currentUserId)
};
mapResourceToValue(equalizedData) {
return equalizedData;
}
sort() {

View File

@ -1,6 +1,6 @@
class PublicCorpusList extends CorpusList {
get item() {
return (values) => {
return (values) => {
return `
<tr class="list-item clickable hoverable">
<td><b class="title"></b><br><i class="description"></i></td>
@ -14,6 +14,19 @@ class PublicCorpusList extends CorpusList {
};
}
mapResourceToValue(corpus) {
return {
'id': corpus.id,
'creation-date': corpus.creation_date,
'description': corpus.description,
'status': corpus.status,
'title': corpus.title,
'owner': corpus.user.username,
'is-owner': corpus.user.id === this.userId ? true : false,
'current-user-is-following': Object.values(corpus.corpus_follower_associations).some(association => association.follower.id === currentUserId)
};
}
initListContainerElement() {
if (!this.listContainerElement.hasAttribute('id')) {
this.listContainerElement.id = Utils.generateElementId('corpus-list-');