ywana-core8 0.0.827 → 0.0.829

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.827",
3
+ "version": "0.0.829",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -63,7 +63,7 @@ const TaskTest = (props) => {
63
63
 
64
64
  return (
65
65
  <TaskContextProvider host="http://localhost:3001" listeners={taskListeners} >
66
- <TaskMonitor editors={taskEditors}/>
66
+ <TaskMonitor editors={taskEditors} from="2023-10-21"/>
67
67
  <CreateTaskButton />
68
68
  </TaskContextProvider>
69
69
  )
@@ -4,8 +4,8 @@
4
4
  flex-direction: column;
5
5
  }
6
6
 
7
- .task-manager>header {
8
-
7
+ .task-manager>header>.actions .from {
8
+ max-width: 14rem;
9
9
  }
10
10
 
11
11
  .task-manager>main {
@@ -27,5 +27,4 @@
27
27
 
28
28
  .linear-progress>progress::-webkit-progress-value {
29
29
  background-color: #2196f3;
30
- }
31
-
30
+ }
@@ -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 } from '../html'
4
+ import { LinearProgress, Header, DataTable, Icon, TextField } from '../html'
5
5
  import "./task.css"
6
6
 
7
7
  /**
@@ -17,10 +17,17 @@ export const TaskContextProvider = (props) => {
17
17
  const { host, url = "/tasks", frequency = 5000, children, listeners = {} } = props
18
18
  const API = CollectionAPI(url, host)
19
19
  const _listeners = Object.assign({}, listeners)
20
+ const [filters, setFilters] = useState({})
20
21
 
21
- async function tasks(filters, likes) {
22
+ useEffect(() => {
23
+ console.log("TaskContext", filters)
24
+ }, [filters])
25
+
26
+ async function tasks(filters2, likes) {
22
27
  try {
23
- const response = await API.all(filters, likes);
28
+ const filters3 = Object.assign({}, filters, filters2)
29
+ console.log("tasks", filters, filters3)
30
+ const response = await API.all(filters3, likes);
24
31
  return response;
25
32
  } catch (error) {
26
33
  console.log("tasks error", error);
@@ -74,7 +81,9 @@ export const TaskContextProvider = (props) => {
74
81
 
75
82
  useEffect(() => {
76
83
  const interval = setInterval(async () => {
77
- const tasks = await API.all()
84
+
85
+ console.log("TASKS REFRESH", filters)
86
+ const tasks = await API.all(filters)
78
87
 
79
88
  // find task for each listener
80
89
  Object.keys(_listeners).forEach(taskID => {
@@ -96,7 +105,8 @@ export const TaskContextProvider = (props) => {
96
105
  updateTask,
97
106
  removeTask,
98
107
  addListener,
99
- removeListener
108
+ removeListener,
109
+ setFilters
100
110
  };
101
111
 
102
112
  return (
@@ -149,20 +159,30 @@ export const TaskProgress = (props) => {
149
159
  */
150
160
  export const TaskMonitor = (props) => {
151
161
 
152
- const { title = "Task Monitor", filters, editors } = props
162
+ const { title = "Task Monitor", filters = {}, editors } = props
153
163
  const context = useContext(TaskContext)
154
164
  const [tasks = [], setTasks] = useState([])
165
+ const [from, setFrom ] = useState()
155
166
 
156
167
  useEffect(() => {
168
+
169
+ if (props.from) setFrom(props.from)
170
+
157
171
  refresh()
172
+
158
173
  const interval = setInterval(() => {
159
174
  refresh()
160
175
  }, 5000)
161
176
  return () => { clearInterval(interval) }
162
177
  }, [])
163
178
 
179
+ useEffect(() => {
180
+ console.log("from", from)
181
+ if (from) context.setFilters({ from })
182
+ }, [from])
183
+
164
184
  async function refresh() {
165
- const tasks = await context.tasks(filters)
185
+ const tasks = await context.tasks()
166
186
  setTasks(tasks)
167
187
  }
168
188
 
@@ -171,6 +191,10 @@ export const TaskMonitor = (props) => {
171
191
  refresh()
172
192
  }
173
193
 
194
+ function changeFrom(id, value) {
195
+ setFrom(value)
196
+ }
197
+
174
198
  const table = {
175
199
  columns: [
176
200
  { id: "state", label: "Estado" },
@@ -211,7 +235,9 @@ export const TaskMonitor = (props) => {
211
235
 
212
236
  return (
213
237
  <div className="task-manager">
214
- <Header icon="list" title={title} />
238
+ <Header icon="list" title={title} >
239
+ { from ? <TextField id="from" type="date" label="From" value={from} onChange={changeFrom} /> : null }
240
+ </Header>
215
241
  <main>
216
242
  <DataTable {...table} />
217
243
  </main>