diff options
| author | stonedDiscord <Tukz@gmx.de> | 2022-09-04 19:30:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-04 19:30:41 +0200 |
| commit | 975fb353dd7f5bec7bcb836f4ceb86fae9b70340 (patch) | |
| tree | ac910da9d9766582bec1eed873feabbb7b013259 /webAO/dom | |
| parent | d20994bd7c244cc84ab138cec441b05c261a83e4 (diff) | |
| parent | 31a97ce6009204316295fa4fd09749e2ff71dd7d (diff) | |
Merge pull request #164 from caleb-mabry/move-window-functions-pt-1
Several window functions moved
Diffstat (limited to 'webAO/dom')
| -rw-r--r-- | webAO/dom/changeBackgroundOOC.ts | 27 | ||||
| -rw-r--r-- | webAO/dom/musicListClick.ts | 21 | ||||
| -rw-r--r-- | webAO/dom/musicListFilter.ts | 24 | ||||
| -rw-r--r-- | webAO/dom/muteListClick.ts | 20 | ||||
| -rw-r--r-- | webAO/dom/onOOCEnter.ts | 16 | ||||
| -rw-r--r-- | webAO/dom/onReplayGo.ts | 9 | ||||
| -rw-r--r-- | webAO/dom/resetOffset.ts | 5 | ||||
| -rw-r--r-- | webAO/dom/showNameClick.ts | 26 | ||||
| -rw-r--r-- | webAO/dom/updateActionCommands.ts | 27 | ||||
| -rw-r--r-- | webAO/dom/updateBackgroundPreview.ts | 29 |
10 files changed, 204 insertions, 0 deletions
diff --git a/webAO/dom/changeBackgroundOOC.ts b/webAO/dom/changeBackgroundOOC.ts new file mode 100644 index 0000000..abf3a97 --- /dev/null +++ b/webAO/dom/changeBackgroundOOC.ts @@ -0,0 +1,27 @@ +import { client } from "../client"; +import queryParser from "../utils/queryParser"; + +let { mode } = queryParser(); + +/** + * Change background via OOC. + */ +export function changeBackgroundOOC() { + const selectedBG = <HTMLSelectElement>document.getElementById("bg_select"); + const changeBGCommand = "bg $1"; + const bgFilename = <HTMLInputElement>document.getElementById("bg_filename"); + + let filename = ""; + if (selectedBG.selectedIndex === 0) { + filename = bgFilename.value; + } else { + filename = selectedBG.value; + } + + if (mode === "join") { + client.sendOOC(`/${changeBGCommand.replace("$1", filename)}`); + } else if (mode === "replay") { + client.sendSelf(`BN#${filename}#%`); + } +} +window.changeBackgroundOOC = changeBackgroundOOC;
\ No newline at end of file diff --git a/webAO/dom/musicListClick.ts b/webAO/dom/musicListClick.ts new file mode 100644 index 0000000..1eb6619 --- /dev/null +++ b/webAO/dom/musicListClick.ts @@ -0,0 +1,21 @@ +import { client } from "../client"; +/** + * Triggered when an item on the music list is clicked. + * @param {MouseEvent} event + */ +export function musiclist_click(_event: Event) { + const playtrack = (<HTMLInputElement>( + document.getElementById("client_musiclist") + )).value; + client.sendMusicChange(playtrack); + + // This is here so you can't actually select multiple tracks, + // even though the select tag has the multiple option to render differently + const musiclist_elements = (<HTMLSelectElement>( + document.getElementById("client_musiclist") + )).selectedOptions; + for (let i = 0; i < musiclist_elements.length; i++) { + musiclist_elements[i].selected = false; + } +} +window.musiclist_click = musiclist_click;
\ No newline at end of file diff --git a/webAO/dom/musicListFilter.ts b/webAO/dom/musicListFilter.ts new file mode 100644 index 0000000..c44978d --- /dev/null +++ b/webAO/dom/musicListFilter.ts @@ -0,0 +1,24 @@ +import { client } from "../client"; +/** + * Triggered when the music search bar is changed + * @param {MouseEvent} event + */ +export function musiclist_filter(_event: Event) { + const musiclist_element = <HTMLSelectElement>( + document.getElementById("client_musiclist") + ); + const searchname = (<HTMLInputElement>( + document.getElementById("client_musicsearch") + )).value; + + musiclist_element.innerHTML = ""; + + for (const trackname of client.musics) { + if (trackname.toLowerCase().indexOf(searchname.toLowerCase()) !== -1) { + const newentry = <HTMLOptionElement>document.createElement("OPTION"); + newentry.text = trackname; + musiclist_element.options.add(newentry); + } + } +} +window.musiclist_filter = musiclist_filter;
\ No newline at end of file diff --git a/webAO/dom/muteListClick.ts b/webAO/dom/muteListClick.ts new file mode 100644 index 0000000..6ae3eea --- /dev/null +++ b/webAO/dom/muteListClick.ts @@ -0,0 +1,20 @@ +import { client } from "../client"; +/** + * Triggered when a character in the mute list is clicked + * @param {MouseEvent} event + */ +export function mutelist_click(_event: Event) { + const mutelist = <HTMLSelectElement>document.getElementById("mute_select"); + const selected_character = mutelist.options[mutelist.selectedIndex]; + + if (client.chars[selected_character.value].muted === false) { + client.chars[selected_character.value].muted = true; + selected_character.text = `${client.chars[selected_character.value].name + } (muted)`; + console.info(`muted ${client.chars[selected_character.value].name}`); + } else { + client.chars[selected_character.value].muted = false; + selected_character.text = client.chars[selected_character.value].name; + } +} +window.mutelist_click = mutelist_click;
\ No newline at end of file diff --git a/webAO/dom/onOOCEnter.ts b/webAO/dom/onOOCEnter.ts new file mode 100644 index 0000000..a24928b --- /dev/null +++ b/webAO/dom/onOOCEnter.ts @@ -0,0 +1,16 @@ +import {client} from '../client' +/** + * Triggered when the Return key is pressed on the out-of-character chat input box. + * @param {KeyboardEvent} event + */ + export function onOOCEnter(event: KeyboardEvent) { + if (event.keyCode === 13) { + client.sendOOC( + (<HTMLInputElement>document.getElementById("client_oocinputbox")).value + ); + (<HTMLInputElement>document.getElementById("client_oocinputbox")).value = + ""; + } + } + window.onOOCEnter = onOOCEnter; +
\ No newline at end of file diff --git a/webAO/dom/onReplayGo.ts b/webAO/dom/onReplayGo.ts new file mode 100644 index 0000000..c13a8e6 --- /dev/null +++ b/webAO/dom/onReplayGo.ts @@ -0,0 +1,9 @@ +import { client } from "../client"; +/** + * Triggered when the user click replay GOOOOO + * @param {KeyboardEvent} event + */ + export function onReplayGo(_event: Event) { + client.handleReplay(); + } + window.onReplayGo = onReplayGo;
\ No newline at end of file diff --git a/webAO/dom/resetOffset.ts b/webAO/dom/resetOffset.ts new file mode 100644 index 0000000..2cf8197 --- /dev/null +++ b/webAO/dom/resetOffset.ts @@ -0,0 +1,5 @@ +export function resetOffset(_event: Event) { + (<HTMLInputElement>document.getElementById("pair_offset")).value = "0"; + (<HTMLInputElement>document.getElementById("pair_y_offset")).value = "0"; + } + window.resetOffset = resetOffset;
\ No newline at end of file diff --git a/webAO/dom/showNameClick.ts b/webAO/dom/showNameClick.ts new file mode 100644 index 0000000..265f6c8 --- /dev/null +++ b/webAO/dom/showNameClick.ts @@ -0,0 +1,26 @@ +import setCookie from "../utils/setCookie"; + + +/** + * Triggered when the showname checkboc is clicked + * @param {MouseEvent} event + */ +export function showname_click(_event: Event) { + setCookie( + "showname", + String((<HTMLInputElement>document.getElementById("showname")).checked) + ); + setCookie( + "ic_chat_name", + (<HTMLInputElement>document.getElementById("ic_chat_name")).value + ); + + const css_s = <HTMLAnchorElement>document.getElementById("nameplate_setting"); + + if ((<HTMLInputElement>document.getElementById("showname")).checked) { + css_s.href = "styles/shownames.css"; + } else { + css_s.href = "styles/nameplates.css"; + } +} +window.showname_click = showname_click; diff --git a/webAO/dom/updateActionCommands.ts b/webAO/dom/updateActionCommands.ts new file mode 100644 index 0000000..9d0bd82 --- /dev/null +++ b/webAO/dom/updateActionCommands.ts @@ -0,0 +1,27 @@ + +/** + * Update evidence icon. + */ +export function updateActionCommands(side: string) { + if (side === "jud") { + document.getElementById("judge_action")!.style.display = "inline-table"; + document.getElementById("no_action")!.style.display = "none"; + } else { + document.getElementById("judge_action")!.style.display = "none"; + document.getElementById("no_action")!.style.display = "inline-table"; + } + + // Update role selector + for ( + let i = 0, + role_select = <HTMLSelectElement>document.getElementById("role_select"); + i < role_select.options.length; + i++ + ) { + if (side === role_select.options[i].value) { + role_select.options.selectedIndex = i; + return; + } + } +} +window.updateActionCommands = updateActionCommands;
\ No newline at end of file diff --git a/webAO/dom/updateBackgroundPreview.ts b/webAO/dom/updateBackgroundPreview.ts new file mode 100644 index 0000000..e55bf60 --- /dev/null +++ b/webAO/dom/updateBackgroundPreview.ts @@ -0,0 +1,29 @@ +import { AO_HOST } from "../client"; + +/** + * Update background preview. + */ +export function updateBackgroundPreview() { + const background_select = <HTMLSelectElement>( + document.getElementById("bg_select") + ); + const background_filename = <HTMLInputElement>( + document.getElementById("bg_filename") + ); + const background_preview = <HTMLImageElement>( + document.getElementById("bg_preview") + ); + + if (background_select.selectedIndex === 0) { + background_filename.style.display = "initial"; + background_preview.src = `${AO_HOST}background/${encodeURI( + background_filename.value.toLowerCase() + )}/defenseempty.png`; + } else { + background_filename.style.display = "none"; + background_preview.src = `${AO_HOST}background/${encodeURI( + background_select.value.toLowerCase() + )}/defenseempty.png`; + } +} +window.updateBackgroundPreview = updateBackgroundPreview;
\ No newline at end of file |
