2021-03-15 17:04:20 +00:00
|
|
|
/**
|
|
|
|
* Group tags
|
|
|
|
*
|
|
|
|
* @author Pierre Hubert
|
|
|
|
*/
|
|
|
|
|
|
|
|
const GroupTabs = {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {AdvancedGroupInfo} group Group information
|
|
|
|
* @param {HTMLElement} target Target
|
|
|
|
* @param {String} activePage Current active page
|
|
|
|
*/
|
|
|
|
show: async function(group, target, activePage) {
|
|
|
|
// Load template
|
|
|
|
const tpl = await Page.loadHTMLTemplate("pages/groups/sections/GroupTabs.html");
|
|
|
|
const el = document.createElement("div")
|
|
|
|
el.innerHTML = tpl;
|
|
|
|
target.appendChild(el);
|
|
|
|
|
|
|
|
Vue.createApp({
|
|
|
|
|
|
|
|
data: () => {
|
|
|
|
return {
|
|
|
|
isAdmin: group.membership == "administrator",
|
2021-03-17 17:40:11 +00:00
|
|
|
canSeeMembers: group.is_members_list_public || group.membership == "administrator" || group.membership == "moderator",
|
2021-03-15 17:04:20 +00:00
|
|
|
activePage: activePage
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
methods: {
|
|
|
|
openPage: (uri) => openPage("groups/" + group.id + "/" + uri)
|
|
|
|
}
|
|
|
|
|
|
|
|
}).mount(el);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|