ywana-core8 0.0.988 → 0.0.990
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/index.cjs +38 -28
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +51 -41
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +38 -28
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/incubator/task.js +21 -16
package/package.json
CHANGED
package/src/incubator/task.js
CHANGED
@@ -13,29 +13,34 @@ export const TaskContext = React.createContext({})
|
|
13
13
|
*/
|
14
14
|
export const TaskContextProvider = (props) => {
|
15
15
|
|
16
|
-
const { host, url = "/tasks", frequency = 1000, children } = props
|
16
|
+
const { host, url = "/tasks", frequency = 1000, children, ctx } = props
|
17
17
|
const API = CollectionAPI(url, host, "")
|
18
|
-
const [
|
18
|
+
const [listeners, setListeners] = useState({})
|
19
|
+
const appContext = useContext(appContext)
|
20
|
+
const appContextRef = useRef(appContext)
|
19
21
|
|
20
22
|
useEffect(() => {
|
21
|
-
|
22
|
-
|
23
|
+
appContextRef.current = appContext
|
24
|
+
}, [appContext])
|
23
25
|
|
26
|
+
useEffect(() => {
|
27
|
+
if (Object.keys(listeners).length === 0) return
|
24
28
|
const _interval = setInterval(async () => {
|
25
|
-
|
26
|
-
for (let i = 0; i < taskIDs.length; i++) {
|
27
|
-
|
28
|
-
const taskID = taskIDs[i]
|
29
|
-
const tsk = await task(taskID)
|
30
|
-
|
31
|
-
const listener = listeners[taskID]
|
32
|
-
if (listener) listener(tsk)
|
33
|
-
|
34
|
-
}
|
29
|
+
executeListeners()
|
35
30
|
}, frequency)
|
36
31
|
return () => clearInterval(_interval)
|
37
32
|
}, [listeners])
|
38
33
|
|
34
|
+
async function executeListeners() {
|
35
|
+
const taskIDs = Object.keys(listeners)
|
36
|
+
for (let i = 0; i < taskIDs.length; i++) {
|
37
|
+
const taskID = taskIDs[i]
|
38
|
+
const tsk = await task(taskID)
|
39
|
+
const listener = listeners[taskID]
|
40
|
+
if (listener) listener(tsk, appContextRef.current)
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
39
44
|
async function tasks(filters, likes) {
|
40
45
|
try {
|
41
46
|
const response = await API.all(filters, likes);
|
@@ -226,8 +231,8 @@ export const TaskMonitor = (props) => {
|
|
226
231
|
setMinimized(!minimized)
|
227
232
|
}
|
228
233
|
|
229
|
-
|
230
|
-
|
234
|
+
const toggleIcon = minimized ? "expand_less" : "expand_more"
|
235
|
+
const viewStyle = minimized ? "minimized" : "" //
|
231
236
|
|
232
237
|
return (
|
233
238
|
<div className={`task-manager ${viewStyle}`}>
|