Skip to content

Commit

Permalink
Fixed modal paths
Browse files Browse the repository at this point in the history
  • Loading branch information
WolverinDEV committed Feb 9, 2021
1 parent 01081ac commit c297c44
Show file tree
Hide file tree
Showing 18 changed files with 219 additions and 23 deletions.
2 changes: 1 addition & 1 deletion loader/app/loader/script_loader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ function load_script_url(url: string) : Promise<void> {
const timeout_handle = setTimeout(() => {
cleanup();
reject("timeout");
}, 15 * 1000);
}, 120 * 1000);
script_tag.type = "application/javascript";
script_tag.async = true;
script_tag.defer = true;
Expand Down
6 changes: 3 additions & 3 deletions shared/js/connection/ServerFeatures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export class ServerFeatures {
readonly events: Registry<ServerFeatureEvents>;
private readonly connection: ConnectionHandler;
private readonly explicitCommandHandler: ExplicitCommandHandler;
private readonly stateChangeListener: (event: ConnectionEvents["notify_connection_state_changed"]) => void;
private readonly stateChangeListener: () => void;

private featureAwait: Promise<boolean>;
private featureAwaitCallback: (success: boolean) => void;
Expand Down Expand Up @@ -68,7 +68,7 @@ export class ServerFeatures {
}
});

this.connection.events().on("notify_connection_state_changed", this.stateChangeListener = event => {
this.stateChangeListener = this.connection.events().on("notify_connection_state_changed", event => {
if(event.newState === ConnectionState.CONNECTED) {
this.connection.getServerConnection().send_command("listfeaturesupport").catch(error => {
this.disableAllFeatures();
Expand All @@ -95,7 +95,7 @@ export class ServerFeatures {
}

destroy() {
this.connection.events().off(this.stateChangeListener);
this.stateChangeListener();
this.connection.getServerConnection()?.command_handler_boss()?.unregister_explicit_handler("notifyfeaturesupport", this.explicitCommandHandler);

if(this.featureAwaitCallback) {
Expand Down
2 changes: 1 addition & 1 deletion shared/js/i18n/localize.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export interface TranslationRepository {

let translations: Translation[] = [];
let translateCache: { [key:string]: string; } = {};
export function tr(message: string, key?: string) {
export function tr(message: string, key?: string) : string {
const sloppy = translateCache[message];
if(sloppy) {
return sloppy;
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/ModalChangeVolumeNew.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnReactModal} from "tc-shared/ui/react-elements/Modal";
import {spawnReactModal} from "tc-shared/ui/react-elements/modal";
import * as React from "react";
import {Slider} from "tc-shared/ui/react-elements/Slider";
import {Button} from "tc-shared/ui/react-elements/Button";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/ModalGroupCreate.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnReactModal} from "tc-shared/ui/react-elements/Modal";
import {spawnReactModal} from "tc-shared/ui/react-elements/modal";
import {ConnectionHandler} from "tc-shared/ConnectionHandler";
import {Registry} from "tc-shared/events";
import {FlatInputField, Select} from "tc-shared/ui/react-elements/InputField";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/ModalGroupPermissionCopy.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnReactModal} from "tc-shared/ui/react-elements/Modal";
import {spawnReactModal} from "tc-shared/ui/react-elements/modal";
import {ConnectionHandler} from "tc-shared/ConnectionHandler";
import {Registry} from "tc-shared/events";
import * as React from "react";
Expand Down
166 changes: 159 additions & 7 deletions shared/js/ui/modal/ModalMusicManage.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {createErrorModal, createModal} from "../../ui/elements/Modal";
import {ConnectionHandler} from "../../ConnectionHandler";
import {MusicClientEntry} from "../../tree/Client";
import {modal, Registry} from "../../events";
import {Registry} from "../../events";
import {CommandResult} from "../../connection/ServerConnectionDeclaration";
import {LogCategory, logError, logWarn} from "../../log";
import {tr, tra} from "../../i18n/localize";
Expand All @@ -12,8 +12,160 @@ import * as htmltags from "../../ui/htmltags";
import {ErrorCode} from "../../connection/ErrorCode";
import ServerGroup = find.ServerGroup;

type BotStatusType = "name" | "description" | "volume" | "country_code" | "channel_commander" | "priority_speaker";
type PlaylistStatusType = "replay_mode" | "finished" | "delete_played" | "max_size" | "notify_song_change";
interface music_manage {
show_container: { container: "settings" | "permissions"; };

/* setting relevant */
query_bot_status: {},
bot_status: {
status: "success" | "error";
error_msg?: string;
data?: {
name: string,
description: string,
volume: number,

country_code: string,
default_country_code: string,

channel_commander: boolean,
priority_speaker: boolean,

client_version: string,
client_platform: string,

uptime_mode: number,
bot_type: number
}
},
set_bot_status: {
key: BotStatusType,
value: any
},
set_bot_status_result: {
key: BotStatusType,
status: "success" | "error" | "timeout",
error_msg?: string,
value?: any
}

query_playlist_status: {},
playlist_status: {
status: "success" | "error",
error_msg?: string,
data?: {
replay_mode: number,
finished: boolean,
delete_played: boolean,
max_size: number,
notify_song_change: boolean
}
},
set_playlist_status: {
key: PlaylistStatusType,
value: any
},
set_playlist_status_result: {
key: PlaylistStatusType,
status: "success" | "error" | "timeout",
error_msg?: string,
value?: any
}

/* permission relevant */
show_client_list: {},
hide_client_list: {},

filter_client_list: { filter: string | undefined },

"refresh_permissions": {},

query_special_clients: {},
special_client_list: {
status: "success" | "error" | "error-permission",
error_msg?: string,
clients?: {
name: string,
unique_id: string,
database_id: number
}[]
},

search_client: { text: string },
search_client_result: {
status: "error" | "timeout" | "empty" | "success",
error_msg?: string,
client?: {
name: string,
unique_id: string,
database_id: number
}
},

/* sets a client to set the permission for */
special_client_set: {
client?: {
name: string,
unique_id: string,
database_id: number
}
},

"query_general_permissions": {},
"general_permissions": {
status: "error" | "timeout" | "success",
error_msg?: string,
permissions?: {[key: string]:number}
},
"set_general_permission_result": {
status: "error" | "success",
key: string,
value?: number,
error_msg?: string
},
"set_general_permission": { /* try to change a permission for the server */
key: string,
value: number
},


"query_client_permissions": { client_database_id: number },
"client_permissions": {
status: "error" | "timeout" | "success",
client_database_id: number,
error_msg?: string,
permissions?: {[key: string]:number}
},
"set_client_permission_result": {
status: "error" | "success",
client_database_id: number,
key: string,
value?: number,
error_msg?: string
},
"set_client_permission": { /* try to change a permission for the server */
client_database_id: number,
key: string,
value: number
},

"query_group_permissions": { permission_name: string },
"group_permissions": {
permission_name: string;
status: "error" | "timeout" | "success"
groups?: {
name: string,
value: number,
id: number
}[],
error_msg?: string
}
}

export function openMusicManage(client: ConnectionHandler, bot: MusicClientEntry) {
const ev_registry = new Registry<modal.music_manage>();
const ev_registry = new Registry<music_manage>();
ev_registry.enableDebug("music-manage");
//dummy_controller(ev_registry);
permission_controller(ev_registry, bot, client);
Expand All @@ -36,7 +188,7 @@ export function openMusicManage(client: ConnectionHandler, bot: MusicClientEntry
modal.open();
}

function permission_controller(event_registry: Registry<modal.music_manage>, bot: MusicClientEntry, client: ConnectionHandler) {
function permission_controller(event_registry: Registry<music_manage>, bot: MusicClientEntry, client: ConnectionHandler) {
const error_msg = error => {
if (error instanceof CommandResult) {
if (error.id === ErrorCode.SERVER_INSUFFICIENT_PERMISSIONS) {
Expand Down Expand Up @@ -380,7 +532,7 @@ function permission_controller(event_registry: Registry<modal.music_manage>, bot
}
}

function dummy_controller(event_registry: Registry<modal.music_manage>) {
function dummy_controller(event_registry: Registry<music_manage>) {
/* settings */
{
event_registry.on("query_bot_status", event => {
Expand Down Expand Up @@ -510,7 +662,7 @@ function dummy_controller(event_registry: Registry<modal.music_manage>) {
}


function build_modal(event_registry: Registry<modal.music_manage>): JQuery<HTMLElement> {
function build_modal(event_registry: Registry<music_manage>): JQuery<HTMLElement> {
const tag = $("#tmpl_music_manage").renderTag();

const container_settings = tag.find(".body > .category-settings");
Expand Down Expand Up @@ -563,7 +715,7 @@ function build_modal(event_registry: Registry<modal.music_manage>): JQuery<HTMLE
return tag.children();
}

function build_settings_container(event_registry: Registry<modal.music_manage>, tag: JQuery<HTMLElement>) {
function build_settings_container(event_registry: Registry<music_manage>, tag: JQuery<HTMLElement>) {
const show_change_error = (header, message) => {
createErrorModal(tr("Failed to change value"), header + "<br>" + message).open();
};
Expand Down Expand Up @@ -1169,7 +1321,7 @@ function build_settings_container(event_registry: Registry<modal.music_manage>,
}
}

function build_permission_container(event_registry: Registry<modal.music_manage>, tag: JQuery<HTMLElement>) {
function build_permission_container(event_registry: Registry<music_manage>, tag: JQuery<HTMLElement>) {
/* client search mechanism */
{
const container = tag.find(".table-head .column-client-specific .client-select");
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/channel-edit/Controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {Registry} from "tc-shared/events";
import {ChannelPropertyProviders} from "tc-shared/ui/modal/channel-edit/ControllerProperties";
import {LogCategory, logDebug, logError} from "tc-shared/log";
import {ChannelPropertyPermissionsProviders} from "tc-shared/ui/modal/channel-edit/ControllerPermissions";
import {spawnModal} from "tc-shared/ui/react-elements/Modal";
import {spawnModal} from "tc-shared/ui/react-elements/modal";
import {PermissionValue} from "tc-shared/permission/PermissionManager";
import {CommandResult} from "tc-shared/connection/ServerConnectionDeclaration";
import PermissionType from "tc-shared/permission/PermissionType";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/echo-test/Controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnModal} from "tc-shared/ui/react-elements/Modal";
import {spawnModal} from "tc-shared/ui/react-elements/modal";
import * as React from "react";
import {Registry} from "tc-shared/events";
import {EchoTestEvents, TestState} from "tc-shared/ui/modal/echo-test/Definitions";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/global-settings-editor/Controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnModal} from "tc-shared/ui/react-elements/Modal";
import {spawnModal} from "tc-shared/ui/react-elements/modal";
import {Registry} from "tc-shared/events";
import {ModalGlobalSettingsEditorEvents, Setting} from "tc-shared/ui/modal/global-settings-editor/Definitions";
import {RegistryKey, RegistryValueType, Settings, settings} from "tc-shared/settings";
Expand Down
1 change: 0 additions & 1 deletion shared/js/ui/modal/global-settings-editor/Renderer.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import {Translatable} from "tc-shared/ui/react-elements/i18n";
import * as React from "react";
import {createContext, useContext, useRef, useState} from "react";
import {InternalModal} from "tc-shared/ui/react-elements/internal-modal/Controller";
import {IpcRegistryDescription, Registry} from "tc-shared/events";
import {ModalGlobalSettingsEditorEvents, Setting} from "tc-shared/ui/modal/global-settings-editor/Definitions";
import {LoadingDots} from "tc-shared/ui/react-elements/LoadingDots";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/permission/ModalPermissionEditor.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnReactModal} from "tc-shared/ui/react-elements/Modal";
import {spawnReactModal} from "tc-shared/ui/react-elements/modal";
import {ConnectionHandler} from "tc-shared/ConnectionHandler";
import * as React from "react";
import {useState} from "react";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/transfer/ModalFileTransfer.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnReactModal} from "tc-shared/ui/react-elements/Modal";
import {spawnReactModal} from "tc-shared/ui/react-elements/modal";
import * as React from "react";
import {Registry} from "tc-shared/events";
import {FileBrowserRenderer, NavigationBar} from "./FileBrowserRenderer";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/video-source/Controller.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Registry} from "tc-shared/events";
import {spawnReactModal} from "tc-shared/ui/react-elements/Modal";
import {spawnReactModal} from "tc-shared/ui/react-elements/modal";
import {ModalVideoSourceEvents} from "tc-shared/ui/modal/video-source/Definitions";
import {ModalVideoSource} from "tc-shared/ui/modal/video-source/Renderer";
import {getVideoDriver, VideoPermissionStatus, VideoSource} from "tc-shared/video/VideoSource";
Expand Down
2 changes: 1 addition & 1 deletion shared/js/ui/modal/whats-new/Controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {spawnReactModal} from "tc-shared/ui/react-elements/Modal";
import {spawnReactModal} from "tc-shared/ui/react-elements/modal";
import {InternalModal} from "tc-shared/ui/react-elements/internal-modal/Controller";
import * as React from "react";
import {WhatsNew} from "tc-shared/ui/modal/whats-new/Renderer";
Expand Down
1 change: 1 addition & 0 deletions shared/js/ui/react-elements/modal/Definitions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {EchoTestEvents} from "tc-shared/ui/modal/echo-test/Definitions";
import {ModalGlobalSettingsEditorEvents} from "tc-shared/ui/modal/global-settings-editor/Definitions";

export type ModalType = "error" | "warning" | "info" | "none";
export type ModalRenderType = "page" | "dialog";

export interface ModalOptions {
/**
Expand Down
43 changes: 43 additions & 0 deletions shared/js/ui/react-elements/modal/Renderer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import {
AbstractModal,
ModalFunctionController,
ModalOptions,
ModalRenderType
} from "tc-shared/ui/react-elements/modal/Definitions";
import {useContext} from "react";

const ControllerContext = useContext<ModalRendererController>(undefined);

interface RendererControllerEvents {

}

export class ModalRendererController {
readonly renderType: ModalRenderType;
readonly modal: AbstractModal;

constructor(renderType: ModalRenderType, modal: AbstractModal,) {
this.renderType = renderType;
this.modal = modal;
}

setShown(shown: boolean) {

}
}

export const ModalRenderer = (props: {
mode: "page" | "dialog",
modal: AbstractModal,
modalOptions: ModalOptions,
modalActions: ModalFunctionController
}) => {

}

const ModalRendererDialog = (props: {
modal: AbstractModal,
modalOptions: ModalOptions,
modalActions: ModalFunctionController
}) => {
}
1 change: 1 addition & 0 deletions web/app/voice/VoicePlayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ export class VoicePlayer implements VoicePlayer {
private currentRtpTrack: RemoteRTPAudioTrack;

constructor() {
this.volume = 1;
this.listenerTrackStateChanged = event => this.handleTrackStateChanged(event.newState);
this.events = new Registry<VoicePlayerEvents>();
this.currentState = VoicePlayerState.STOPPED;
Expand Down

0 comments on commit c297c44

Please sign in to comment.