-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathsidebar.js
More file actions
39 lines (32 loc) · 1005 Bytes
/
sidebar.js
File metadata and controls
39 lines (32 loc) · 1005 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import SidebarHeader from "./SidebarHeader.js";
import SidebarBody from "./SidebarBody.js";
import SidebarFooter from "./SidebarFooter.js";
import { request } from "../../utils/api.js";
export default function Sidebar({ $target }) {
const $sidebar = document.createElement("div");
$sidebar.className = "sidebar";
const $sidebarHeader = document.createElement("div");
const $sidebarBody = document.createElement("div");
const $sidebarFooter = document.createElement("div");
const sidebarBody = new SidebarBody({
$target: $sidebarBody,
});
this.setState = () => {
sidebarBody.setState();
};
new SidebarHeader({
$target: $sidebarHeader,
setState: this.setState(),
});
new SidebarFooter({
$target: $sidebarFooter,
setState: this.setState(),
});
this.render = () => {
$target.appendChild($sidebar);
$sidebar.appendChild($sidebarHeader);
$sidebar.appendChild($sidebarBody);
$sidebar.appendChild($sidebarFooter);
};
this.render();
}