Christian Fraß commited on 2021-11-20 15:20:07
Zeige 5 geänderte Dateien mit 50 Einfügungen und 2 Löschungen.
... | ... |
@@ -93,6 +93,25 @@ namespace ns_control |
93 | 93 |
} |
94 | 94 |
); |
95 | 95 |
} |
96 |
+ // open query |
|
97 |
+ { |
|
98 |
+ document.querySelectorAll(".user").forEach |
|
99 |
+ ( |
|
100 |
+ (dom_user) => |
|
101 |
+ { |
|
102 |
+ register_listener |
|
103 |
+ ( |
|
104 |
+ (dom_user as HTMLElement), |
|
105 |
+ "click", |
|
106 |
+ (e) => |
|
107 |
+ { |
|
108 |
+ const user_name: string = JSON.parse(dom_user.getAttribute("rel")); |
|
109 |
+ ns_model.open_query(model, user_name); |
|
110 |
+ } |
|
111 |
+ ); |
|
112 |
+ } |
|
113 |
+ ); |
|
114 |
+ } |
|
96 | 115 |
} |
97 | 116 |
|
98 | 117 |
} |
... | ... |
@@ -276,6 +276,27 @@ namespace ns_model |
276 | 276 |
} |
277 | 277 |
|
278 | 278 |
|
279 |
+ /** |
|
280 |
+ * adds a query to a user as spot |
|
281 |
+ */ |
|
282 |
+ export function open_query |
|
283 |
+ ( |
|
284 |
+ model: type_model, |
|
285 |
+ user_name: string |
|
286 |
+ ): void |
|
287 |
+ { |
|
288 |
+ if ((user_name !== model.nickname) && (! model.queries.hasOwnProperty(user_name))) |
|
289 |
+ { |
|
290 |
+ model.queries[user_name] = {"entries": []}; |
|
291 |
+ notify(model, "spots_changed"); |
|
292 |
+ } |
|
293 |
+ else |
|
294 |
+ { |
|
295 |
+ // do nothing |
|
296 |
+ } |
|
297 |
+ } |
|
298 |
+ |
|
299 |
+ |
|
279 | 300 |
/** |
280 | 301 |
* sets up the model |
281 | 302 |
*/ |
... | ... |
@@ -112,6 +112,7 @@ namespace ns_view |
112 | 112 |
*/ |
113 | 113 |
function update_users |
114 | 114 |
( |
115 |
+ conf: type_conf, |
|
115 | 116 |
model: type_model |
116 | 117 |
): void |
117 | 118 |
{ |
... | ... |
@@ -165,8 +166,11 @@ namespace ns_view |
165 | 166 |
dom_name.style.color = get_usercolor(user.name); |
166 | 167 |
dom_user.appendChild(dom_name); |
167 | 168 |
} |
169 |
+ dom_user.setAttribute("rel", JSON.stringify(user.name)); |
|
168 | 170 |
dom_users.appendChild(dom_user); |
169 | 171 |
} |
172 |
+ // meeh… |
|
173 |
+ ns_control.setup(conf, model); |
|
170 | 174 |
} |
171 | 175 |
|
172 | 176 |
|
... | ... |
@@ -198,7 +202,7 @@ namespace ns_view |
198 | 202 |
ns_model.listen(model, "state_changed", () => {update_state(model);}); |
199 | 203 |
ns_model.listen(model, "spots_changed", () => {update_spots(conf, model);}); |
200 | 204 |
ns_model.listen(model, "entries_changed", () => {update_entries(model);}); |
201 |
- ns_model.listen(model, "users_changed", () => {update_users(model);}); |
|
205 |
+ ns_model.listen(model, "users_changed", () => {update_users(conf, model);}); |
|
202 | 206 |
ns_model.listen(model, "message_sent", () => {clear_content();}); |
203 | 207 |
} |
204 | 208 |
|