aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/common.ts
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-02-20 22:45:07 +0800
committercrupest <crupest@outlook.com>2021-02-20 22:45:07 +0800
commitad61f58644b3f0fac451dbc5b869471edcad0cf4 (patch)
tree8dd1cb3e15a3a8f4d90c0b57a028de08adfa2244 /FrontEnd/src/app/common.ts
parenta58ea3757f4749406274142b47e4d6d90ecf4015 (diff)
downloadtimeline-ad61f58644b3f0fac451dbc5b869471edcad0cf4.tar.gz
timeline-ad61f58644b3f0fac451dbc5b869471edcad0cf4.tar.bz2
timeline-ad61f58644b3f0fac451dbc5b869471edcad0cf4.zip
...
Diffstat (limited to 'FrontEnd/src/app/common.ts')
-rw-r--r--FrontEnd/src/app/common.ts47
1 files changed, 8 insertions, 39 deletions
diff --git a/FrontEnd/src/app/common.ts b/FrontEnd/src/app/common.ts
index 681568bb..1a4f6dda 100644
--- a/FrontEnd/src/app/common.ts
+++ b/FrontEnd/src/app/common.ts
@@ -1,49 +1,18 @@
-import React from "react";
-import { Observable, Subject } from "rxjs";
import { TFunction } from "i18next";
+export type BootstrapThemeColor =
+ | "primary"
+ | "secondary"
+ | "success"
+ | "danger"
+ | "warning"
+ | "info";
+
// This error is thrown when ui goes wrong with bad logic.
// Such as a variable should not be null, but it does.
// This error should never occur. If it does, it indicates there is some logic bug in codes.
export class UiLogicError extends Error {}
-export function useEventEmiiter(): [() => Observable<null>, () => void] {
- const ref = React.useRef<Subject<null> | null>(null);
-
- return React.useMemo(() => {
- const getter = (): Subject<null> => {
- if (ref.current == null) {
- ref.current = new Subject<null>();
- }
- return ref.current;
- };
- const trigger = (): void => {
- getter().next(null);
- };
- return [getter, trigger];
- }, []);
-}
-
-export function useValueEventEmiiter<T>(): [
- () => Observable<T>,
- (value: T) => void
-] {
- const ref = React.useRef<Subject<T> | null>(null);
-
- return React.useMemo(() => {
- const getter = (): Subject<T> => {
- if (ref.current == null) {
- ref.current = new Subject<T>();
- }
- return ref.current;
- };
- const trigger = (value: T): void => {
- getter().next(value);
- };
- return [getter, trigger];
- }, []);
-}
-
export type I18nText =
| string
| { type: "custom"; value: string }