81 lines
3.1 KiB
HTML
81 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Mobilistache, Mobilizon with a mustache</title>
|
|
<link rel="stylesheet" type="text/css" href="res/css/base.css">
|
|
<link rel="stylesheet" type="text/css" href="res/css/layout.css">
|
|
<link rel="stylesheet" type="text/css" href="res/css/module_base.css">
|
|
<link rel="stylesheet" type="text/css" href="res/css/module_button.css">
|
|
<link rel="stylesheet" type="text/css" href="res/css/module_date.css">
|
|
<link rel="stylesheet" type="text/css" href="res/css/module_event.css">
|
|
<link rel="stylesheet" type="text/css" href="res/css/module_group.css">
|
|
<link rel="stylesheet" type="text/css" href="res/css/module_tag.css">
|
|
<script type="text/javascript" src="src/context.js"></script>
|
|
<script type="text/javascript" src="src/global.js"></script>
|
|
<script type="text/javascript" src="src/route.js"></script>
|
|
<script type="text/javascript" src="src/model/event.js"></script>
|
|
<script type="text/javascript" src="src/model/group.js"></script>
|
|
<script type="text/javascript" src="src/request/req_group.js"></script>
|
|
<script type="text/javascript" src="src/widgets/button_view.js"></script>
|
|
<script type="text/javascript" src="src/widgets/date_view.js"></script>
|
|
<script type="text/javascript" src="src/widgets/event_view.js"></script>
|
|
<script type="text/javascript" src="src/widgets/tag_tpl.js"></script>
|
|
<script type="text/javascript">
|
|
class PageGroupEmbed extends Page {
|
|
boot() {
|
|
var query = splitHandle(GET("handle"));
|
|
if (!query) {
|
|
console.error("Error reading handle from " + location.href);
|
|
document.getElementById("content").innerHTML = "<p>Incorrect handle \"" + GET("handle") + "\", check the \"handle\" parameter in your url.</p>";
|
|
return;
|
|
}
|
|
var host = query.host;
|
|
var name = query.name;
|
|
var customCss = GET("css");
|
|
if (customCss) {
|
|
var css = document.createElement("link");
|
|
css.setAttribute("rel", "stylesheet");
|
|
css.setAttribute("type", "text/css");
|
|
css.setAttribute("href", customCss);
|
|
document.getElementsByTagName("head")[0].appendChild(css);
|
|
}
|
|
if (host && name) {
|
|
requestGroup(host, name, function(request, status, result) {
|
|
if (status === 200) {
|
|
setTitle(result.name);
|
|
var content = new WidgetGroupEmbed(result);
|
|
content.showIn(document.getElementById("content"));
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
const PAGE_GROUP_EMBED = new PageGroupEmbed();
|
|
|
|
class WidgetGroupEmbed extends Widget {
|
|
constructor(group) {
|
|
super();
|
|
this.group = group;
|
|
this.root = document.createElement("section");
|
|
this.root.classList.add("group-detail", "l-section");
|
|
var template = `<ul class="l-nobullet l-centered"></ul>`;
|
|
this.root.innerHTML = template;
|
|
var events = [];
|
|
var eventList = this.root.getElementsByTagName("ul")[0];
|
|
this.group.getEvents().forEach(evt => {
|
|
var evtItem = new WidgetEventListItem(evt, 2, {linkToInstance: true});
|
|
evtItem.showIn(eventList);
|
|
});
|
|
}
|
|
}
|
|
|
|
function embedRoute() {
|
|
CTX.init();
|
|
CTX.setPage(PAGE_GROUP_EMBED);
|
|
}
|
|
document.addEventListener('DOMContentLoaded', embedRoute);
|
|
</script>
|
|
</head>
|
|
<body id="content" class="l-centered"></body>
|
|
</html>
|