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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ywana-core8",
3
- "version": "0.0.988",
3
+ "version": "0.0.990",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -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 [ listeners, setListeners ] = useState({})
18
+ const [listeners, setListeners] = useState({})
19
+ const appContext = useContext(appContext)
20
+ const appContextRef = useRef(appContext)
19
21
 
20
22
  useEffect(() => {
21
-
22
- if (Object.keys(listeners).length === 0) return
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
- const taskIDs = Object.keys(listeners)
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
- const toggleIcon = minimized ? "expand_less" : "expand_more"
230
- const viewStyle = minimized ? "minimized" : "" //
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}`}>