@zuzjs/ui 0.8.1 → 0.8.2
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/dist/cjs/comps/Accordion/index.js +1 -1
- package/dist/cjs/comps/Actionbar/index.js +1 -1
- package/dist/cjs/comps/Alert/index.js +1 -1
- package/dist/cjs/comps/AutoComplete/index.d.ts +1 -1
- package/dist/cjs/comps/AutoComplete/index.js +3 -2
- package/dist/cjs/comps/Avatar/index.js +5 -5
- package/dist/cjs/comps/Box/index.js +1 -1
- package/dist/cjs/comps/Button/index.js +1 -1
- package/dist/cjs/comps/CheckBox/index.d.ts +1 -0
- package/dist/cjs/comps/CheckBox/index.js +1 -1
- package/dist/cjs/comps/CheckBox/types.d.ts +1 -0
- package/dist/cjs/comps/ColorScheme/index.js +1 -1
- package/dist/cjs/comps/ContextMenu/index.d.ts +2 -0
- package/dist/cjs/comps/ContextMenu/index.js +6 -6
- package/dist/cjs/comps/ContextMenu/item.js +1 -1
- package/dist/cjs/comps/ContextMenu/types.d.ts +3 -1
- package/dist/cjs/comps/CookiesConsent/index.js +1 -1
- package/dist/cjs/comps/Cover/index.js +1 -1
- package/dist/cjs/comps/Cropper/index.d.ts +8 -0
- package/dist/cjs/comps/Cropper/index.js +20 -0
- package/dist/cjs/comps/Cropper/types.d.ts +14 -0
- package/dist/cjs/comps/Cropper/types.js +5 -0
- package/dist/cjs/comps/Crumb/index.d.ts +2 -1
- package/dist/cjs/comps/Crumb/index.js +13 -3
- package/dist/cjs/comps/Crumb/types.d.ts +1 -0
- package/dist/cjs/comps/Drawer/index.js +1 -1
- package/dist/cjs/comps/Fab/index.js +1 -1
- package/dist/cjs/comps/Filters/index.js +1 -1
- package/dist/cjs/comps/Form/index.js +22 -6
- package/dist/cjs/comps/Icon/index.js +1 -1
- package/dist/cjs/comps/Image/index.js +1 -1
- package/dist/cjs/comps/Input/index.d.ts +2 -2
- package/dist/cjs/comps/Input/index.js +1 -1
- package/dist/cjs/comps/KeyboardKeys/index.js +1 -1
- package/dist/cjs/comps/Label/index.js +1 -1
- package/dist/cjs/comps/List/index.d.ts +1 -1
- package/dist/cjs/comps/List/index.js +1 -1
- package/dist/cjs/comps/Network/index.js +1 -1
- package/dist/cjs/comps/Overlay/index.js +1 -1
- package/dist/cjs/comps/Pagination/index.js +1 -1
- package/dist/cjs/comps/Password/index.d.ts +6 -2
- package/dist/cjs/comps/Password/index.js +15 -5
- package/dist/cjs/comps/PinInput/index.d.ts +1 -1
- package/dist/cjs/comps/PinInput/index.js +8 -3
- package/dist/cjs/comps/ProgressBar/index.js +2 -2
- package/dist/cjs/comps/Radio/index.js +1 -1
- package/dist/cjs/comps/ScrollView/index.js +1 -1
- package/dist/cjs/comps/Search/index.d.ts +1 -1
- package/dist/cjs/comps/Search/index.js +1 -1
- package/dist/cjs/comps/Segmented/index.js +1 -1
- package/dist/cjs/comps/Select/index.d.ts +1 -0
- package/dist/cjs/comps/Select/index.js +3 -3
- package/dist/cjs/comps/Select/types.d.ts +6 -1
- package/dist/cjs/comps/Sheet/index.js +1 -1
- package/dist/cjs/comps/Sidebar/index.js +1 -1
- package/dist/cjs/comps/Slider/index.js +1 -1
- package/dist/cjs/comps/Span/index.js +1 -1
- package/dist/cjs/comps/Spinner/index.js +1 -1
- package/dist/cjs/comps/Switch/index.d.ts +1 -0
- package/dist/cjs/comps/Switch/index.js +1 -1
- package/dist/cjs/comps/TabView/body.js +1 -1
- package/dist/cjs/comps/TabView/index.js +1 -1
- package/dist/cjs/comps/TabView/tab.js +1 -1
- package/dist/cjs/comps/Table/col.js +1 -1
- package/dist/cjs/comps/Table/index.js +56 -2
- package/dist/cjs/comps/Table/row.js +1 -1
- package/dist/cjs/comps/Text/index.js +1 -1
- package/dist/cjs/comps/TextArea/index.js +1 -1
- package/dist/cjs/comps/TextWheel/index.js +3 -3
- package/dist/cjs/comps/Tooltip/index.js +1 -1
- package/dist/cjs/comps/Treeview/index.js +1 -1
- package/dist/cjs/comps/Treeview/item.js +1 -1
- package/dist/cjs/comps/VideoPlayer/index.js +1 -0
- package/dist/cjs/comps/index.d.ts +2 -0
- package/dist/cjs/comps/index.js +2 -0
- package/dist/cjs/funs/events.d.ts +31 -7
- package/dist/cjs/funs/events.js +57 -19
- package/dist/cjs/funs/index.d.ts +5 -3
- package/dist/cjs/funs/index.js +39 -84
- package/dist/cjs/hooks/index.d.ts +2 -0
- package/dist/cjs/hooks/index.js +2 -0
- package/dist/cjs/hooks/useDB.d.ts +5 -1
- package/dist/cjs/hooks/useDB.js +52 -4
- package/dist/cjs/hooks/useImage.js +2 -2
- package/dist/cjs/hooks/useImageCropper.d.ts +10 -0
- package/dist/cjs/hooks/useImageCropper.js +67 -0
- package/dist/cjs/hooks/useSlider.d.ts +1 -1
- package/dist/cjs/hooks/useUploader.d.ts +46 -0
- package/dist/cjs/hooks/useUploader.js +101 -0
- package/dist/cjs/hooks/useWebSocket.d.ts +2 -2
- package/dist/cjs/hooks/useWebSocket.js +13 -2
- package/dist/cjs/types/index.d.ts +3 -0
- package/dist/css/styles.css +1 -1
- package/dist/esm/comps/Accordion/index.js +1 -1
- package/dist/esm/comps/Actionbar/index.js +1 -1
- package/dist/esm/comps/Alert/index.js +1 -1
- package/dist/esm/comps/AutoComplete/index.d.ts +1 -1
- package/dist/esm/comps/AutoComplete/index.js +3 -2
- package/dist/esm/comps/Avatar/index.js +5 -5
- package/dist/esm/comps/Box/index.js +1 -1
- package/dist/esm/comps/Button/index.js +1 -1
- package/dist/esm/comps/CheckBox/index.d.ts +1 -0
- package/dist/esm/comps/CheckBox/index.js +1 -1
- package/dist/esm/comps/CheckBox/types.d.ts +1 -0
- package/dist/esm/comps/ColorScheme/index.js +1 -1
- package/dist/esm/comps/ContextMenu/index.d.ts +2 -0
- package/dist/esm/comps/ContextMenu/index.js +6 -6
- package/dist/esm/comps/ContextMenu/item.js +1 -1
- package/dist/esm/comps/ContextMenu/types.d.ts +3 -1
- package/dist/esm/comps/CookiesConsent/index.js +1 -1
- package/dist/esm/comps/Cover/index.js +1 -1
- package/dist/esm/comps/Cropper/index.d.ts +8 -0
- package/dist/esm/comps/Cropper/index.js +20 -0
- package/dist/esm/comps/Cropper/types.d.ts +14 -0
- package/dist/esm/comps/Cropper/types.js +5 -0
- package/dist/esm/comps/Crumb/index.d.ts +2 -1
- package/dist/esm/comps/Crumb/index.js +13 -3
- package/dist/esm/comps/Crumb/types.d.ts +1 -0
- package/dist/esm/comps/Drawer/index.js +1 -1
- package/dist/esm/comps/Fab/index.js +1 -1
- package/dist/esm/comps/Filters/index.js +1 -1
- package/dist/esm/comps/Form/index.js +22 -6
- package/dist/esm/comps/Icon/index.js +1 -1
- package/dist/esm/comps/Image/index.js +1 -1
- package/dist/esm/comps/Input/index.d.ts +2 -2
- package/dist/esm/comps/Input/index.js +1 -1
- package/dist/esm/comps/KeyboardKeys/index.js +1 -1
- package/dist/esm/comps/Label/index.js +1 -1
- package/dist/esm/comps/List/index.d.ts +1 -1
- package/dist/esm/comps/List/index.js +1 -1
- package/dist/esm/comps/Network/index.js +1 -1
- package/dist/esm/comps/Overlay/index.js +1 -1
- package/dist/esm/comps/Pagination/index.js +1 -1
- package/dist/esm/comps/Password/index.d.ts +6 -2
- package/dist/esm/comps/Password/index.js +15 -5
- package/dist/esm/comps/PinInput/index.d.ts +1 -1
- package/dist/esm/comps/PinInput/index.js +8 -3
- package/dist/esm/comps/ProgressBar/index.js +2 -2
- package/dist/esm/comps/Radio/index.js +1 -1
- package/dist/esm/comps/ScrollView/index.js +1 -1
- package/dist/esm/comps/Search/index.d.ts +1 -1
- package/dist/esm/comps/Search/index.js +1 -1
- package/dist/esm/comps/Segmented/index.js +1 -1
- package/dist/esm/comps/Select/index.d.ts +1 -0
- package/dist/esm/comps/Select/index.js +3 -3
- package/dist/esm/comps/Select/types.d.ts +6 -1
- package/dist/esm/comps/Sheet/index.js +1 -1
- package/dist/esm/comps/Sidebar/index.js +1 -1
- package/dist/esm/comps/Slider/index.js +1 -1
- package/dist/esm/comps/Span/index.js +1 -1
- package/dist/esm/comps/Spinner/index.js +1 -1
- package/dist/esm/comps/Switch/index.d.ts +1 -0
- package/dist/esm/comps/Switch/index.js +1 -1
- package/dist/esm/comps/TabView/body.js +1 -1
- package/dist/esm/comps/TabView/index.js +1 -1
- package/dist/esm/comps/TabView/tab.js +1 -1
- package/dist/esm/comps/Table/col.js +1 -1
- package/dist/esm/comps/Table/index.js +56 -2
- package/dist/esm/comps/Table/row.js +1 -1
- package/dist/esm/comps/Text/index.js +1 -1
- package/dist/esm/comps/TextArea/index.js +1 -1
- package/dist/esm/comps/TextWheel/index.js +3 -3
- package/dist/esm/comps/Tooltip/index.js +1 -1
- package/dist/esm/comps/Treeview/index.js +1 -1
- package/dist/esm/comps/Treeview/item.js +1 -1
- package/dist/esm/comps/VideoPlayer/index.js +1 -0
- package/dist/esm/comps/index.d.ts +2 -0
- package/dist/esm/comps/index.js +2 -0
- package/dist/esm/funs/events.d.ts +31 -7
- package/dist/esm/funs/events.js +57 -19
- package/dist/esm/funs/index.d.ts +5 -3
- package/dist/esm/funs/index.js +39 -84
- package/dist/esm/hooks/index.d.ts +2 -0
- package/dist/esm/hooks/index.js +2 -0
- package/dist/esm/hooks/useDB.d.ts +5 -1
- package/dist/esm/hooks/useDB.js +52 -4
- package/dist/esm/hooks/useImage.js +2 -2
- package/dist/esm/hooks/useImageCropper.d.ts +10 -0
- package/dist/esm/hooks/useImageCropper.js +67 -0
- package/dist/esm/hooks/useSlider.d.ts +1 -1
- package/dist/esm/hooks/useUploader.d.ts +46 -0
- package/dist/esm/hooks/useUploader.js +101 -0
- package/dist/esm/hooks/useWebSocket.d.ts +2 -2
- package/dist/esm/hooks/useWebSocket.js +13 -2
- package/dist/esm/types/index.d.ts +3 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CancelTokenSource } from "@zuzjs/core";
|
|
2
|
+
import { dynamic } from "..";
|
|
3
|
+
export declare enum Status {
|
|
4
|
+
Error = -1,
|
|
5
|
+
Idle = 0,
|
|
6
|
+
FetchingServer = 1,
|
|
7
|
+
Uploading = 2,
|
|
8
|
+
Saving = 3
|
|
9
|
+
}
|
|
10
|
+
export interface QueItem {
|
|
11
|
+
ID: string;
|
|
12
|
+
file: File;
|
|
13
|
+
dir: string;
|
|
14
|
+
remote: false;
|
|
15
|
+
progress: number;
|
|
16
|
+
speed: number;
|
|
17
|
+
eta: number;
|
|
18
|
+
bytes: number;
|
|
19
|
+
status: Status;
|
|
20
|
+
server?: Server | null;
|
|
21
|
+
}
|
|
22
|
+
export type Server = {
|
|
23
|
+
ID: string;
|
|
24
|
+
uri: string;
|
|
25
|
+
token: string;
|
|
26
|
+
rmf: string | null;
|
|
27
|
+
};
|
|
28
|
+
export type Uploadify = {
|
|
29
|
+
que: QueItem[];
|
|
30
|
+
index: number;
|
|
31
|
+
speed: number;
|
|
32
|
+
stamp: number | null;
|
|
33
|
+
token: string | null;
|
|
34
|
+
status: Status;
|
|
35
|
+
cancelToken?: CancelTokenSource | null;
|
|
36
|
+
};
|
|
37
|
+
export interface Uploader {
|
|
38
|
+
apiUrl: string;
|
|
39
|
+
onChange?: (file: QueItem | null) => void;
|
|
40
|
+
onQueFinished?: () => void;
|
|
41
|
+
}
|
|
42
|
+
declare const useUploader: (conf: Uploader) => {
|
|
43
|
+
getQue: () => QueItem[];
|
|
44
|
+
addToQue: (f: dynamic) => void;
|
|
45
|
+
};
|
|
46
|
+
export default useUploader;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { getCancelToken, withPost } from "@zuzjs/core";
|
|
2
|
+
import { uuid } from "..";
|
|
3
|
+
export var Status;
|
|
4
|
+
(function (Status) {
|
|
5
|
+
Status[Status["Error"] = -1] = "Error";
|
|
6
|
+
Status[Status["Idle"] = 0] = "Idle";
|
|
7
|
+
Status[Status["FetchingServer"] = 1] = "FetchingServer";
|
|
8
|
+
Status[Status["Uploading"] = 2] = "Uploading";
|
|
9
|
+
Status[Status["Saving"] = 3] = "Saving";
|
|
10
|
+
})(Status || (Status = {}));
|
|
11
|
+
const useUploader = (conf) => {
|
|
12
|
+
const { apiUrl, onChange, onQueFinished } = conf;
|
|
13
|
+
const self = {
|
|
14
|
+
que: [],
|
|
15
|
+
index: -1,
|
|
16
|
+
speed: 0,
|
|
17
|
+
stamp: null,
|
|
18
|
+
token: null,
|
|
19
|
+
status: Status.Idle
|
|
20
|
+
};
|
|
21
|
+
const sync = () => onChange?.(currentFile());
|
|
22
|
+
const importFile = () => { };
|
|
23
|
+
const uploadFile = () => {
|
|
24
|
+
self.stamp = Date.now();
|
|
25
|
+
const file = currentFile();
|
|
26
|
+
const formData = new FormData();
|
|
27
|
+
formData.append("ID", file.ID);
|
|
28
|
+
formData.append("dir", file.dir);
|
|
29
|
+
formData.append("server", file.server.ID);
|
|
30
|
+
formData.append("token", file.server.token);
|
|
31
|
+
formData.append('file', file.file);
|
|
32
|
+
formData.append('fs', file.file.size.toString());
|
|
33
|
+
self.cancelToken = getCancelToken();
|
|
34
|
+
withPost(`${self.que[self.index].server.uri}/receive`, formData, 86400, true, (ev) => {
|
|
35
|
+
console.log(ev);
|
|
36
|
+
})
|
|
37
|
+
.catch(resp => {
|
|
38
|
+
console.log(`Uploaded`, resp);
|
|
39
|
+
})
|
|
40
|
+
.catch(err => {
|
|
41
|
+
self.que[self.index].status = Status.Error;
|
|
42
|
+
self.status = Status.Idle;
|
|
43
|
+
sync();
|
|
44
|
+
Que();
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const getServer = (force) => {
|
|
48
|
+
self.que[self.index].status = Status.FetchingServer;
|
|
49
|
+
sync();
|
|
50
|
+
withPost(`${apiUrl}get_server`, { size: currentFile().file.size })
|
|
51
|
+
.then((resp) => {
|
|
52
|
+
self.que[self.index].server = resp.server;
|
|
53
|
+
self.que[self.index].status = Status.Uploading;
|
|
54
|
+
sync();
|
|
55
|
+
uploadFile();
|
|
56
|
+
})
|
|
57
|
+
.catch((err) => {
|
|
58
|
+
self.que[self.index].status = Status.Error;
|
|
59
|
+
self.status = Status.Idle;
|
|
60
|
+
sync();
|
|
61
|
+
Que();
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const currentFile = () => self.que[self.index];
|
|
65
|
+
const getQue = () => self.que;
|
|
66
|
+
const Que = () => {
|
|
67
|
+
if (self.status == Status.Idle &&
|
|
68
|
+
(self.que.length - 1) > self.index) {
|
|
69
|
+
self.status = Status.Uploading;
|
|
70
|
+
self.index++;
|
|
71
|
+
self.que[self.index].status = Status.Uploading;
|
|
72
|
+
sync();
|
|
73
|
+
if (self.que[self.index].remote)
|
|
74
|
+
importFile();
|
|
75
|
+
else
|
|
76
|
+
getServer(true);
|
|
77
|
+
}
|
|
78
|
+
else
|
|
79
|
+
onQueFinished?.();
|
|
80
|
+
};
|
|
81
|
+
const addToQue = (f) => {
|
|
82
|
+
self.que.push({
|
|
83
|
+
ID: uuid(),
|
|
84
|
+
file: f.file,
|
|
85
|
+
dir: f.dir,
|
|
86
|
+
remote: f.remote,
|
|
87
|
+
progress: 0,
|
|
88
|
+
speed: 0,
|
|
89
|
+
eta: 0,
|
|
90
|
+
bytes: 0,
|
|
91
|
+
status: Status.Idle,
|
|
92
|
+
server: null
|
|
93
|
+
});
|
|
94
|
+
Que();
|
|
95
|
+
};
|
|
96
|
+
return {
|
|
97
|
+
getQue,
|
|
98
|
+
addToQue,
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export default useUploader;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { dynamic } from "..";
|
|
2
2
|
export type WebSocketOptions = {
|
|
3
3
|
onOpen?: (event: Event) => void;
|
|
4
4
|
onClose?: (event: CloseEvent) => void;
|
|
5
5
|
onRawMessage?: (event: MessageEvent) => void;
|
|
6
|
-
onMessage?: (data:
|
|
6
|
+
onMessage?: (data: dynamic) => void;
|
|
7
7
|
onError?: (event: Event) => void;
|
|
8
8
|
reconnect?: boolean;
|
|
9
9
|
};
|
|
@@ -18,8 +18,19 @@ const useWebSocket = (url, options) => {
|
|
|
18
18
|
reconnectIntervals.set(url, 2); // Reset to 1s on successful reconnect
|
|
19
19
|
};
|
|
20
20
|
const connect = useCallback(() => {
|
|
21
|
-
if (socketInstances.has(url))
|
|
21
|
+
if (socketInstances.has(url)) {
|
|
22
|
+
const Socket = socketInstances.get(url);
|
|
23
|
+
if (Socket) {
|
|
24
|
+
Socket.onmessage = (event) => {
|
|
25
|
+
setMessages((prev) => [...prev, event.data]);
|
|
26
|
+
onRawMessage?.(event);
|
|
27
|
+
const raw = JSON.parse(Buffer.isBuffer(event) ? event.toString(`utf8`) : `string` == typeof event ? event : event.data);
|
|
28
|
+
onMessage?.(raw);
|
|
29
|
+
listenersMap.get(url)?.forEach((listener) => listener(event));
|
|
30
|
+
};
|
|
31
|
+
}
|
|
22
32
|
return; // Prevent duplicate connection
|
|
33
|
+
}
|
|
23
34
|
const socket = new WebSocket(url);
|
|
24
35
|
socketInstances.set(url, socket);
|
|
25
36
|
listenersMap.set(url, []);
|
|
@@ -79,7 +90,7 @@ const useWebSocket = (url, options) => {
|
|
|
79
90
|
socket.send(data);
|
|
80
91
|
}
|
|
81
92
|
else {
|
|
82
|
-
console.
|
|
93
|
+
console.log("WebSocket is not connected.");
|
|
83
94
|
}
|
|
84
95
|
}, [url]);
|
|
85
96
|
return { isConnected, messages, sendMessage };
|