ywana-core8 0.0.989 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ywana-core8",
3
- "version": "0.0.989",
3
+ "version": "0.0.990",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -15,28 +15,32 @@ export const TaskContextProvider = (props) => {
15
15
 
16
16
  const { host, url = "/tasks", frequency = 1000, children, ctx } = props
17
17
  const API = CollectionAPI(url, host, "")
18
- const [ listeners, setListeners ] = useState({})
19
- const appContext = useContext(ctx)
18
+ const [listeners, setListeners] = useState({})
19
+ const appContext = useContext(appContext)
20
+ const appContextRef = useRef(appContext)
20
21
 
21
22
  useEffect(() => {
22
-
23
- if (Object.keys(listeners).length === 0) return
23
+ appContextRef.current = appContext
24
+ }, [appContext])
24
25
 
26
+ useEffect(() => {
27
+ if (Object.keys(listeners).length === 0) return
25
28
  const _interval = setInterval(async () => {
26
- const taskIDs = Object.keys(listeners)
27
- for (let i = 0; i < taskIDs.length; i++) {
28
-
29
- const taskID = taskIDs[i]
30
- const tsk = await task(taskID)
31
-
32
- const listener = listeners[taskID]
33
- if (listener) listener(tsk,appContext)
34
-
35
- }
29
+ executeListeners()
36
30
  }, frequency)
37
31
  return () => clearInterval(_interval)
38
32
  }, [listeners])
39
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
+
40
44
  async function tasks(filters, likes) {
41
45
  try {
42
46
  const response = await API.all(filters, likes);
@@ -227,8 +231,8 @@ export const TaskMonitor = (props) => {
227
231
  setMinimized(!minimized)
228
232
  }
229
233
 
230
- const toggleIcon = minimized ? "expand_less" : "expand_more"
231
- const viewStyle = minimized ? "minimized" : "" //
234
+ const toggleIcon = minimized ? "expand_less" : "expand_more"
235
+ const viewStyle = minimized ? "minimized" : "" //
232
236
 
233
237
  return (
234
238
  <div className={`task-manager ${viewStyle}`}>