Bring back community update 2/x

This commit is contained in:
Patrick Jentsch
2023-10-25 16:21:30 +02:00
parent f4d3415c11
commit 0abfe65afa
11 changed files with 118 additions and 78 deletions

View File

@ -18,7 +18,7 @@ ResourceLists.CorpusFollowerList = class CorpusFollowerList extends ResourceList
});
});
app.getUser(this.userId).then((user) => {
let corpusFollowerAssociations = Object.values(user.corpora[this.corpusId].corpus_follower_associations);
// let corpusFollowerAssociations = Object.values(user.corpora[this.corpusId].corpus_follower_associations);
// let filteredList = corpusFollowerAssociations.filter(association => association.follower.id != currentUserId);
// this.add(filteredList);
this.add(Object.values(user.corpora[this.corpusId].corpus_follower_associations));

View File

@ -1,6 +1,11 @@
ResourceLists.PublicCorpusList = class PublicCorpusList extends ResourceLists.ResourceList {
static htmlClass = 'public-corpus-list';
constructor(listContainerElement, options = {}) {
super(listContainerElement, options);
this.listjs.list.addEventListener('click', (event) => {this.onClick(event)});
}
get item() {
return (values) => {
return `
@ -16,6 +21,19 @@ ResourceLists.PublicCorpusList = class PublicCorpusList extends ResourceLists.Re
};
}
get valueNames() {
return [
{data: ['id']},
{data: ['creation-date']},
{name: 'status', attr: 'data-status'},
'description',
'title',
'owner',
'is-owner',
'current-user-is-following'
];
}
mapResourceToValue(corpus) {
return {
'id': corpus.id,
@ -54,4 +72,21 @@ ResourceLists.PublicCorpusList = class PublicCorpusList extends ResourceLists.Re
<ul class="pagination"></ul>
`.trim();
}
onClick(event) {
let listItemElement = event.target.closest('.list-item[data-id]');
if (listItemElement === null) {return;}
let itemId = listItemElement.dataset.id;
let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
let listAction = listActionElement === null ? 'view' : listActionElement.dataset.listAction;
switch (listAction) {
case 'view': {
window.location.href = `/corpora/${itemId}`;
break;
}
default: {
break;
}
}
}
};

View File

@ -1,5 +1,5 @@
ResourceLists.UserList = class UserList extends ResourceLists.ResourceList {
static htmlClass = 'user-list';
ResourceLists.PublicUserList = class PublicUserList extends ResourceLists.ResourceList {
static htmlClass = 'public-user-list';
constructor(listContainerElement, options = {}) {
super(listContainerElement, options);