spt-ui-lib 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # Spring Persistent Tasks UI Lib
2
+
3
+ ## UI Project of spring persistent tasks
4
+
5
+ https://github.com/sterlp/spring-persistent-tasks
6
+
7
+ # Libs
8
+
9
+ - https://react-bootstrap.netlify.app/
10
+ - https://github.com/ismamz/react-bootstrap-icons
11
+ - https://feathericons.com/
@@ -0,0 +1,2 @@
1
+ export * from './shared';
2
+ export * from './server-api';
@@ -0,0 +1,72 @@
1
+ export interface PagedModel<T> {
2
+ content: T[];
3
+ page: PageMetadata;
4
+ }
5
+ export interface SchedulerEntity {
6
+ id: string;
7
+ tasksSlotCount: number;
8
+ runningTasks: number;
9
+ systemLoadAverage: number;
10
+ maxHeap: number;
11
+ usedHeap: number;
12
+ lastPing: string;
13
+ }
14
+ export interface TaskStatusHistoryOverview {
15
+ taskName: string;
16
+ status: TriggerStatus;
17
+ executionCount: number;
18
+ firstRun: string;
19
+ lastRun: string;
20
+ maxDurationMs: number;
21
+ minDurationMs: number;
22
+ avgDurationMs: number;
23
+ avgExecutionCount: number;
24
+ }
25
+ export interface Trigger {
26
+ id: number;
27
+ instanceId: number;
28
+ key: TriggerKey;
29
+ tag: string;
30
+ correlationId: string;
31
+ runningOn: string;
32
+ createdTime: string;
33
+ runAt: string;
34
+ lastPing: string;
35
+ start: string;
36
+ end: string;
37
+ executionCount: number;
38
+ priority: number;
39
+ status: TriggerStatus;
40
+ runningDurationInMs: number;
41
+ state: any;
42
+ exceptionName: string;
43
+ lastException: string;
44
+ }
45
+ export interface TriggerKey {
46
+ id: string;
47
+ taskName: string;
48
+ }
49
+ export interface TriggerRequest<T> {
50
+ key: TriggerKey;
51
+ status: TriggerStatus;
52
+ state: T;
53
+ runtAt: string;
54
+ priority: number;
55
+ correlationId: string;
56
+ tag: string;
57
+ }
58
+ export interface TriggerSearch {
59
+ search: string;
60
+ keyId: string;
61
+ taskName: string;
62
+ correlationId: string;
63
+ status: TriggerStatus;
64
+ tag: string;
65
+ }
66
+ export interface PageMetadata {
67
+ size: number;
68
+ number: number;
69
+ totalElements: number;
70
+ totalPages: number;
71
+ }
72
+ export type TriggerStatus = "AWAITING_SIGNAL" | "WAITING" | "RUNNING" | "SUCCESS" | "FAILED" | "CANCELED" | "EXPIRED_SIGNAL";
@@ -0,0 +1,4 @@
1
+ export declare function formatShortDateTime(inputDate?: string | Date): string;
2
+ export declare function formatDateTime(inputDate?: string | Date): string;
3
+ export declare function formatMs(ms?: number): string;
4
+ export declare function runningSince(value?: string): string;
@@ -0,0 +1,19 @@
1
+ import { AxiosError, AxiosResponse } from 'axios';
2
+ export interface ServerObject<T> {
3
+ isLoading: boolean;
4
+ data: T | undefined;
5
+ error: Error | AxiosError | unknown;
6
+ doGet(id?: string, options?: GetOptions): void;
7
+ doCall(urlPart?: string, options?: Options): Promise<void | AxiosResponse<T, AxiosError | unknown>>;
8
+ }
9
+ export interface GetOptions extends Options {
10
+ cache?: boolean;
11
+ }
12
+ export interface Options {
13
+ method?: HttpMethod;
14
+ dataToSend?: unknown;
15
+ controller?: AbortController;
16
+ }
17
+ export type HttpMethod = "GET" | "DELETE" | "POST" | "PUT" | "HEADER";
18
+ export declare const useServerObject: <T>(url: string, startValue?: T) => ServerObject<T>;
19
+ export declare function isAxiosResponse<T = unknown>(value: unknown): value is AxiosResponse<T>;
@@ -0,0 +1,17 @@
1
+ export * from './date.util';
2
+ export * from './http-request';
3
+ export { default as useAutoRefresh } from './use-auto-refresh';
4
+ export { default as HttpErrorView } from './view/http-error.view';
5
+ export { default as LabeledText } from './view/labled-text.view';
6
+ export { default as LoadingView } from './view/loading.view';
7
+ export { default as PageView } from './view/page.view';
8
+ export { default as ReloadButton } from './view/reload-button.view';
9
+ export { default as RunningTriggerStatusView } from './view/running-trigger-status.view';
10
+ export { default as StackTraceView } from './view/stacktrace.view';
11
+ export { default as TaskSelect } from './view/task-select.view';
12
+ export { default as TriggerCompactView } from './view/trigger-compact.view';
13
+ export { default as TriggerHistoryListView } from './view/trigger-history-list.view';
14
+ export { default as TriggerListView } from './view/trigger-list.view';
15
+ export { default as TriggerStatusSelect } from './view/trigger-status-select.view';
16
+ export { default as TriggerStatusView } from './view/trigger-status.view';
17
+ export { default as TriggerView } from './view/trigger.view';
@@ -0,0 +1,3 @@
1
+ import { EffectCallback } from 'react';
2
+ declare const useAutoRefresh: (delayInMs: number, effect: EffectCallback, deps?: readonly unknown[]) => void;
3
+ export default useAutoRefresh;
@@ -0,0 +1,4 @@
1
+ declare const HttpErrorView: ({ error }: {
2
+ error: any;
3
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
4
+ export default HttpErrorView;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ interface Props {
3
+ label: string;
4
+ value?: string | number | ReactNode;
5
+ className?: string;
6
+ onClick?: () => void;
7
+ }
8
+ declare const LabeledText: React.FC<Props>;
9
+ export default LabeledText;
@@ -0,0 +1,2 @@
1
+ declare const LoadingView: () => import("react/jsx-runtime").JSX.Element;
2
+ export default LoadingView;
@@ -0,0 +1,8 @@
1
+ import { PagedModel } from '../../server-api';
2
+ import { default as React } from 'react';
3
+ interface PageViewProps {
4
+ data?: PagedModel<unknown>;
5
+ onPage: (page: number) => void;
6
+ }
7
+ declare const PageView: React.FC<PageViewProps>;
8
+ export default PageView;
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ isLoading: boolean;
3
+ onClick: () => void;
4
+ }
5
+ declare const ReloadButton: import('react').ForwardRefExoticComponent<Props & import('react').ButtonHTMLAttributes<HTMLButtonElement> & import('react').RefAttributes<HTMLButtonElement>>;
6
+ export default ReloadButton;
@@ -0,0 +1,7 @@
1
+ import { Trigger } from '../../server-api';
2
+ interface Props {
3
+ data?: Trigger;
4
+ pill?: boolean;
5
+ }
6
+ declare const RunningTriggerStatusView: ({ data, pill }: Props) => import("react/jsx-runtime").JSX.Element | undefined;
7
+ export default RunningTriggerStatusView;
@@ -0,0 +1,5 @@
1
+ declare const StackTraceView: ({ title, error, }: {
2
+ title?: string;
3
+ error?: string;
4
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
5
+ export default StackTraceView;
@@ -0,0 +1,6 @@
1
+ interface TaskSelectProps {
2
+ value?: string;
3
+ onTaskChange?: (task: string) => void;
4
+ }
5
+ declare function TaskSelect({ value, onTaskChange }: TaskSelectProps): import("react/jsx-runtime").JSX.Element;
6
+ export default TaskSelect;
@@ -0,0 +1,5 @@
1
+ import { Trigger } from '../../server-api';
2
+ declare const TriggerCompactView: ({ trigger }: {
3
+ trigger: Trigger;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default TriggerCompactView;
@@ -0,0 +1,5 @@
1
+ import { Trigger } from '../../server-api';
2
+ declare const TriggerHistoryListView: ({ triggers }: {
3
+ triggers?: Trigger[];
4
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
5
+ export default TriggerHistoryListView;
@@ -0,0 +1,9 @@
1
+ import { Trigger } from '../../server-api';
2
+ interface TriggerProps {
3
+ trigger: Trigger;
4
+ afterTriggerChanged?: () => void;
5
+ afterTriggerReRun?: () => void;
6
+ onFieldClick: (key: string, value?: string) => void;
7
+ }
8
+ declare const TriggerListItemView: ({ trigger, afterTriggerChanged, afterTriggerReRun, onFieldClick, }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default TriggerListItemView;
@@ -0,0 +1,9 @@
1
+ import { Trigger } from '../../server-api';
2
+ interface TriggerListViewProps {
3
+ triggers?: Trigger[];
4
+ afterTriggerChanged?: () => void;
5
+ afterTriggerReRun?: () => void;
6
+ onFieldClick: (key: string, value?: string) => void;
7
+ }
8
+ declare const TriggerListView: ({ triggers, afterTriggerChanged, afterTriggerReRun, onFieldClick, }: TriggerListViewProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default TriggerListView;
@@ -0,0 +1,6 @@
1
+ interface TaskSelectProps {
2
+ value: string;
3
+ onTaskChange: (task: string) => void;
4
+ }
5
+ declare function TriggerStatusSelect({ value, onTaskChange }: TaskSelectProps): import("react/jsx-runtime").JSX.Element;
6
+ export default TriggerStatusSelect;
@@ -0,0 +1,8 @@
1
+ import { TriggerStatus } from '../../server-api';
2
+ interface Props {
3
+ status: TriggerStatus;
4
+ suffix?: string;
5
+ pill?: boolean;
6
+ }
7
+ declare const TriggerStatusView: ({ status, pill, suffix }: Props) => import("react/jsx-runtime").JSX.Element;
8
+ export default TriggerStatusView;
@@ -0,0 +1,7 @@
1
+ import { Trigger } from '../../server-api';
2
+ declare const TriggerView: ({ trigger, history, onClick, }: {
3
+ trigger: Trigger;
4
+ history?: Trigger[];
5
+ onClick: (key: string, value?: string) => void;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ export default TriggerView;
package/dist/main.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './lib/main'
2
+ export {}