Skip to content
This repository was archived by the owner on May 13, 2018. It is now read-only.

Commit 989e53a

Browse files
committed
terminalの建設。
1 parent f671bb9 commit 989e53a

10 files changed

Lines changed: 149 additions & 97 deletions

File tree

info/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
<Script Src = "/SimpleThread/libraries/common/common.js"></Script>
1414
<Link Rel = "StyleSheet" Href = "/SimpleThread/libraries/common/common.css" />
1515

16+
<Script Src = "info.js"></Script>
1617
<Link Rel = "StyleSheet" Href = "info.css" />
1718
</Head>
1819

info/info.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1-
window.addEventListener("DOMContentLoaded", () => {
1+
terminal.addEventListener("message", event => {
2+
if (event.data.code == "Loaded") {
3+
base.Database.get(base.Database.INTERVAL, "users", res => {
4+
let length = 0;
5+
for (let key in res) length++;
26

7+
new DOM("#Info-Users").textContent = length - 1;
8+
});
9+
10+
base.Database.get(base.Database.INTERVAL, "threads", res => {
11+
res = res.filter((thread) => {
12+
if (thread !== "!SYSTEM") return true;
13+
});
14+
15+
new DOM("#Info-Threads").textContent = res.length;
16+
});
17+
}
318
});

libraries/DBLoader.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,6 @@ class DBLoader extends FirebasePlus {
3737
location.reload();
3838
});
3939
}
40-
}
40+
}
41+
42+
terminal.postMessage({ code: "ScriptLoaded" });

libraries/FileLoader.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ class FileLoader {
2121

2222
return this.currentData;
2323
}
24-
}
24+
}
25+
26+
terminal.postMessage({ code: "ScriptLoaded" });

libraries/FirebasePlus v1.2.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,4 +254,6 @@ class FirebasePlus {
254254
this.auth.signOut();
255255
location.reload();
256256
}
257-
}
257+
}
258+
259+
terminal.postMessage({ code: "ScriptLoaded" });

libraries/JSONLoader.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ class JSONLoader extends FileLoader {
1111
this.currentData = JSON.parse(super.load(url));
1212
return this.currentData;
1313
}
14-
}
14+
}
15+
16+
terminal.postMessage({ code: "ScriptLoaded" });

libraries/LangLoader.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,6 @@ class LangLoader extends JSONLoader {
5050
}
5151
}
5252
}
53-
}
53+
}
54+
55+
terminal.postMessage({ code: "ScriptLoaded" });

libraries/common/common.js

Lines changed: 96 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
let base;
2+
let terminal = new Worker("/SimpleThread/terminal.js");
23

34
window.addEventListener("DOMContentLoaded", () => {
45
let menuContainer = new DOM.ComponentLoader("/SimpleThread/libraries/common/").doc.querySelector("Body");
@@ -47,106 +48,110 @@ window.addEventListener("DOMContentLoaded", () => {
4748

4849

4950

50-
setTimeout(() => {
51-
base = new DBLoader("/SimpleThread/firebase.json", (user) => {
52-
/*window.gapi.load("picker", () => {
53-
window.Picker = class Picker extends google.picker.PickerBuilder {
54-
static get PhotoPicker () {
55-
return class PhotoPicker extends window.Picker {
56-
constructor (onSelect = (data) => {}) {
57-
super(onSelect);
58-
super.addView(google.picker.ViewId.PHOTOS);
51+
terminal.addEventListener("message", event => {
52+
if (event.data.code == "Initialized") {
53+
base = new DBLoader("/SimpleThread/firebase.json", (user) => {
54+
/*window.gapi.load("picker", () => {
55+
window.Picker = class Picker extends google.picker.PickerBuilder {
56+
static get PhotoPicker () {
57+
return class PhotoPicker extends window.Picker {
58+
constructor (onSelect = (data) => {}) {
59+
super(onSelect);
60+
super.addView(google.picker.ViewId.PHOTOS);
61+
}
5962
}
6063
}
61-
}
62-
63-
static get FilePicker () {
64-
return class FilePicker extends window.Picker {
65-
constructor (onSelect = (data) => {}) {
66-
super(onSelect);
67-
super.addView(google.picker.ViewId.DOCS);
64+
65+
static get FilePicker () {
66+
return class FilePicker extends window.Picker {
67+
constructor (onSelect = (data) => {}) {
68+
super(onSelect);
69+
super.addView(google.picker.ViewId.DOCS);
70+
}
6871
}
6972
}
73+
74+
75+
76+
constructor (onSelect = (data) => {}) {
77+
super();
78+
79+
super.setOAuthToken(base.accessToken),
80+
super.setDeveloperKey(base.option.apiKey),
81+
super.setCallback(onSelect);
82+
}
83+
84+
show () {
85+
let picker = this.picker = this.build();
86+
picker.setVisible(true);
87+
}
88+
89+
dismiss () {
90+
this.picker.setVisible(false);
91+
}
7092
}
71-
72-
73-
74-
constructor (onSelect = (data) => {}) {
75-
super();
76-
77-
super.setOAuthToken(base.accessToken),
78-
super.setDeveloperKey(base.option.apiKey),
79-
super.setCallback(onSelect);
80-
}
81-
82-
show () {
83-
let picker = this.picker = this.build();
84-
picker.setVisible(true);
85-
}
86-
87-
dismiss () {
88-
this.picker.setVisible(false);
89-
}
90-
}
91-
});
92-
93-
93+
});
9494
95-
if (user) {
96-
new DOM("#Header_SignInOut").dataset.locales = "main.signOut";
97-
98-
base.Database.getInfo(base.Database.ONCE, `users/${user.uid}`, (res) => {
99-
new DOM('@A[UUID="ProfilePhoto-Btn"]').forEach((btn) => {
100-
btn.dataset.uid = user.uid;
101-
});
102-
103-
if (!res.exists()) {
104-
base.Database.set(`users/${user.uid}`, {
105-
gplusName: user.providerData[0].displayName,
106-
gplusPhoto: user.photoURL,
107-
userName: user.providerData[0].displayName,
108-
detail: "",
109-
links: []
95+
96+
97+
if (user) {
98+
new DOM("#Header_SignInOut").dataset.locales = "main.signOut";
99+
100+
base.Database.getInfo(base.Database.ONCE, `users/${user.uid}`, (res) => {
101+
new DOM('@A[UUID="ProfilePhoto-Btn"]').forEach((btn) => {
102+
btn.dataset.uid = user.uid;
110103
});
111-
112-
new DOM("#Dialogs_Account_CreateNotify").showModal();
113-
} else {
114-
base.Database.update(`users/${user.uid}`, {
115-
gplusName: user.providerData[0].displayName,
116-
gplusPhoto: user.photoURL
104+
105+
if (!res.exists()) {
106+
base.Database.set(`users/${user.uid}`, {
107+
gplusName: user.providerData[0].displayName,
108+
gplusPhoto: user.photoURL,
109+
userName: user.providerData[0].displayName,
110+
detail: "",
111+
links: []
112+
});
113+
114+
new DOM("#Dialogs_Account_CreateNotify").showModal();
115+
} else {
116+
base.Database.update(`users/${user.uid}`, {
117+
gplusName: user.providerData[0].displayName,
118+
gplusPhoto: user.photoURL
119+
});
120+
}
121+
});
122+
123+
base.Database.get(base.Database.ONCE, `users/${base.user.uid}`, (res) => {
124+
new DOM("#Dialogs_Thread_Poster_Header_ActorPhoto").dataset.uid = base.user.uid;
125+
new DOM("#Dialogs_Thread_Poster_Header_Actor").textContent = res.userName;
126+
});
127+
} else {
128+
window.addEventListener("DOMContentLoaded", () => {
129+
new DOM('@*[UUID="ProfilePhoto-Btn"]').forEach((btn) => {
130+
btn.setAttribute("Disabled", "");
117131
});
118-
}
119-
});
120-
121-
base.Database.get(base.Database.ONCE, `users/${base.user.uid}`, (res) => {
122-
new DOM("#Dialogs_Thread_Poster_Header_ActorPhoto").dataset.uid = base.user.uid;
123-
new DOM("#Dialogs_Thread_Poster_Header_Actor").textContent = res.userName;
124-
});
125-
} else {
126-
window.addEventListener("DOMContentLoaded", () => {
127-
new DOM('@*[UUID="ProfilePhoto-Btn"]').forEach((btn) => {
128-
btn.setAttribute("Disabled", "");
129132
});
130-
});
131-
}
132-
133-
locales.applyToElement(new DOM("#Header_SignInOut"));
134-
135-
base.Database.get(base.Database.ONCE, "users", (res) => {
136-
for (let uid in res) {
137-
let photoStyle = new Component.Styles.ProfilePhotoManager(uid, res[uid].gplusPhoto);
138-
139-
document.head.appendChild(photoStyle);
140133
}
134+
135+
locales.applyToElement(new DOM("#Header_SignInOut"));
136+
137+
base.Database.get(base.Database.ONCE, "users", (res) => {
138+
for (let uid in res) {
139+
let photoStyle = new Component.Styles.ProfilePhotoManager(uid, res[uid].gplusPhoto);
140+
141+
document.head.appendChild(photoStyle);
142+
}
143+
});
144+
145+
146+
147+
let querys = location.querySort();
148+
149+
if (querys.TID) {
150+
new DOM("$IFrame.mdl-layout__content").src = `Thread/Viewer/?tid=${querys.TID}`;
151+
}*/
152+
153+
terminal.postMessage({ code: "DBConnected" });
141154
});
142-
143-
144-
145-
let querys = location.querySort();
146-
147-
if (querys.TID) {
148-
new DOM("$IFrame.mdl-layout__content").src = `Thread/Viewer/?tid=${querys.TID}`;
149-
}*/
150-
});
151-
}, 2000);
155+
}
156+
});
152157
});

libraries/firebase.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

terminal.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
let loadedScripts = 0;
2+
3+
self.addEventListener("message", event => {
4+
let msg = event.data || {};
5+
msg.code = msg.code || "",
6+
msg.data = !(msg.data != false && !msg.data) ? msg.data : "";
7+
8+
switch (msg.code) {
9+
case "ScriptLoaded":
10+
loadedScripts++;
11+
12+
if (loadedScripts >= 6) self.postMessage({ code: "Initialized" });
13+
break;
14+
15+
case "DBConnected":
16+
self.postMessage({ code: "Loaded" });
17+
break;
18+
}
19+
});

0 commit comments

Comments
 (0)