ywana-core8 0.0.830 → 0.0.832

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.830",
3
+ "version": "0.0.832",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useContext, useState } from 'react'
2
2
  import { CollectionAPI } from '../domain/CollectionAPI'
3
3
  import { FORMATS, TYPES } from '../domain/ContentType'
4
- import { LinearProgress, Header, DataTable, Icon, TextField } from '../html'
4
+ import { LinearProgress, Header, DataTable, Icon, Chip } from '../html'
5
5
  import "./task.css"
6
6
 
7
7
  /**
@@ -74,14 +74,16 @@ export const TaskContextProvider = (props) => {
74
74
 
75
75
  useEffect(() => {
76
76
  const interval = setInterval(async () => {
77
- const tasks = await API.all({ state: TASK_STATES.RUNNING})
78
- Object.keys(_listeners).forEach(taskID => {
79
- const task = tasks.find(task => task.id === taskID)
77
+ const taskIDs = Object.keys(_listeners)
78
+ if (taskIDs.length === 0) return
79
+ for (let i = 0; i < taskIDs.length; i++) {
80
+ const taskID = taskIDs[i]
81
+ const task = await context.task(taskID)
80
82
  if (task) {
81
83
  const listener = _listeners[taskID]
82
84
  if (listener) listener(task)
83
85
  }
84
- })
86
+ }
85
87
  }, frequency)
86
88
  return () => clearInterval(interval)
87
89
  }, [])
@@ -92,6 +94,7 @@ export const TaskContextProvider = (props) => {
92
94
  createTask,
93
95
  updateTask,
94
96
  removeTask,
97
+ listeners: _listeners,
95
98
  addListener,
96
99
  removeListener
97
100
  };
@@ -149,7 +152,6 @@ export const TaskMonitor = (props) => {
149
152
  const { title = "Task Monitor", filters = {}, editors } = props
150
153
  const context = useContext(TaskContext)
151
154
  const [tasks = [], setTasks] = useState([])
152
- const [from, setFrom ] = useState(props.from)
153
155
 
154
156
  useEffect(() => {
155
157
  refresh()
@@ -160,8 +162,6 @@ export const TaskMonitor = (props) => {
160
162
  }, [])
161
163
 
162
164
  async function refresh() {
163
- if (from) filters["from"] = from
164
- console.log("refresh", filters)
165
165
  const tasks = await context.tasks(filters)
166
166
  setTasks(tasks)
167
167
  }
@@ -171,14 +171,10 @@ export const TaskMonitor = (props) => {
171
171
  refresh()
172
172
  }
173
173
 
174
- function changeFrom(id, value) {
175
- setFrom(value)
176
- }
177
-
178
174
  const table = {
179
175
  columns: [
180
176
  { id: "state", label: "Estado" },
181
- { id: "init", label: "Inicio", type: TYPES.STRING, format: FORMATS.DATE},
177
+ { id: "init", label: "Inicio", type: TYPES.STRING, format: FORMATS.DATE },
182
178
  { id: "end", label: "Fin", type: TYPES.STRING, format: FORMATS.DATE },
183
179
  { id: "description", label: "Descripcion" },
184
180
  { id: "progress", label: "%" },
@@ -216,7 +212,7 @@ export const TaskMonitor = (props) => {
216
212
  return (
217
213
  <div className="task-manager">
218
214
  <Header icon="list" title={title} >
219
- { from ? <TextField id="from" type="date" label="From" value={from} onChange={changeFrom} /> : null }
215
+ { context.listeners ? <Chip label={Object.keys(context.listeners).length} /> : null }
220
216
  </Header>
221
217
  <main>
222
218
  <DataTable {...table} />