ywana-core8 0.0.695 → 0.0.697

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/db/db.json CHANGED
@@ -1,4 +1,5 @@
1
1
  {
2
+ "tasks": [],
2
3
  "references": [
3
4
  {
4
5
  "id": 1,
package/dist/index.cjs CHANGED
@@ -9911,6 +9911,7 @@ var TaskContextProvider = function TaskContextProvider(props) {
9911
9911
  var removeTask = function removeTask(id) {
9912
9912
  try {
9913
9913
  return Promise.resolve(_catch(function () {
9914
+ removeTaskListeners(id);
9914
9915
  return Promise.resolve(API.remove(id));
9915
9916
  }, function (error) {
9916
9917
  console.log("removeTask error", error);
@@ -9920,10 +9921,13 @@ var TaskContextProvider = function TaskContextProvider(props) {
9920
9921
  }
9921
9922
  };
9922
9923
 
9923
- var createTask = function createTask(task) {
9924
+ var createTask = function createTask(task, listener) {
9924
9925
  try {
9925
9926
  return Promise.resolve(_catch(function () {
9926
- return Promise.resolve(API.create(task));
9927
+ return Promise.resolve(API.create(task)).then(function (response) {
9928
+ if (listener) addListener(response.id, listener);
9929
+ return response;
9930
+ });
9927
9931
  }, function (error) {
9928
9932
  console.log("createTask error", error);
9929
9933
  }));
@@ -9959,13 +9963,59 @@ var TaskContextProvider = function TaskContextProvider(props) {
9959
9963
  var host = props.host,
9960
9964
  _props$url = props.url,
9961
9965
  url = _props$url === void 0 ? "/tasks" : _props$url,
9966
+ _props$frequency = props.frequency,
9967
+ frequency = _props$frequency === void 0 ? 5000 : _props$frequency,
9962
9968
  children = props.children;
9963
9969
  var API = CollectionAPI(url, host);
9970
+
9971
+ var _useState = React.useState([]),
9972
+ listeners = _useState[0],
9973
+ setListeners = _useState[1];
9974
+
9975
+ function addListener(taskId, listener) {
9976
+ var listenerId = listeners.length;
9977
+ listeners.push({
9978
+ taskId: taskId,
9979
+ listener: listener
9980
+ });
9981
+ return listenerId;
9982
+ }
9983
+
9984
+ function removeListener(taskId) {
9985
+ var newListeners = listeners.filter(function (listener) {
9986
+ return listener.taskId !== taskId;
9987
+ });
9988
+ setListeners(newListeners);
9989
+ }
9990
+
9991
+ React.useEffect(function () {
9992
+ var interval = setInterval(function () {
9993
+ try {
9994
+ return Promise.resolve(API.all()).then(function (tasks) {
9995
+ listeners.forEach(function (_ref) {
9996
+ var taskId = _ref.taskId,
9997
+ listener = _ref.listener;
9998
+ var task = tasks.find(function (task) {
9999
+ return task.id === taskId;
10000
+ });
10001
+ if (task) listener(task);
10002
+ });
10003
+ });
10004
+ } catch (e) {
10005
+ return Promise.reject(e);
10006
+ }
10007
+ }, frequency);
10008
+ return function () {
10009
+ return clearInterval(interval);
10010
+ };
10011
+ }, []);
9964
10012
  var value = {
9965
10013
  tasks: tasks,
9966
10014
  task: task,
9967
10015
  createTask: createTask,
9968
- removeTask: removeTask
10016
+ removeTask: removeTask,
10017
+ addListener: addListener,
10018
+ removeListener: removeListener
9969
10019
  };
9970
10020
  return /*#__PURE__*/React__default["default"].createElement(TaskContext.Provider, {
9971
10021
  value: value
@@ -9998,9 +10048,9 @@ var TaskProgress = function TaskProgress(props) {
9998
10048
  autoreload = _props$autoreload === void 0 ? true : _props$autoreload,
9999
10049
  onComplete = props.onComplete;
10000
10050
 
10001
- var _useState = React.useState(0),
10002
- progress = _useState[0],
10003
- setProgress = _useState[1];
10051
+ var _useState2 = React.useState(0),
10052
+ progress = _useState2[0],
10053
+ setProgress = _useState2[1];
10004
10054
 
10005
10055
  React.useEffect(function () {
10006
10056
  if (autoreload) {
@@ -10046,10 +10096,10 @@ var TaskMonitor = function TaskMonitor(props) {
10046
10096
  filters = props.filters;
10047
10097
  var context = React.useContext(TaskContext);
10048
10098
 
10049
- var _useState2 = React.useState([]),
10050
- _useState2$ = _useState2[0],
10051
- tasks = _useState2$ === void 0 ? [] : _useState2$,
10052
- setTasks = _useState2[1];
10099
+ var _useState3 = React.useState([]),
10100
+ _useState3$ = _useState3[0],
10101
+ tasks = _useState3$ === void 0 ? [] : _useState3$,
10102
+ setTasks = _useState3[1];
10053
10103
 
10054
10104
  React.useEffect(function () {
10055
10105
  refresh();
@@ -10076,10 +10126,14 @@ var TaskMonitor = function TaskMonitor(props) {
10076
10126
  label: ""
10077
10127
  }, {
10078
10128
  id: "init",
10079
- label: "Inicio"
10129
+ label: "Inicio",
10130
+ type: TYPES.STRING,
10131
+ format: FORMATS.DATE
10080
10132
  }, {
10081
10133
  id: "end",
10082
- label: "Fin"
10134
+ label: "Fin",
10135
+ type: TYPES.STRING,
10136
+ format: FORMATS.DATE
10083
10137
  }, {
10084
10138
  id: "resourceID",
10085
10139
  label: "Recurso"