ywana-core8 0.0.695 → 0.0.696

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/dist/index.umd.js CHANGED
@@ -9905,6 +9905,7 @@
9905
9905
  var removeTask = function removeTask(id) {
9906
9906
  try {
9907
9907
  return Promise.resolve(_catch(function () {
9908
+ removeTaskListeners(id);
9908
9909
  return Promise.resolve(API.remove(id));
9909
9910
  }, function (error) {
9910
9911
  console.log("removeTask error", error);
@@ -9914,10 +9915,13 @@
9914
9915
  }
9915
9916
  };
9916
9917
 
9917
- var createTask = function createTask(task) {
9918
+ var createTask = function createTask(task, listener) {
9918
9919
  try {
9919
9920
  return Promise.resolve(_catch(function () {
9920
- return Promise.resolve(API.create(task));
9921
+ return Promise.resolve(API.create(task)).then(function (response) {
9922
+ if (listener) addListener(response.id, listener);
9923
+ return response;
9924
+ });
9921
9925
  }, function (error) {
9922
9926
  console.log("createTask error", error);
9923
9927
  }));
@@ -9953,13 +9957,58 @@
9953
9957
  var host = props.host,
9954
9958
  _props$url = props.url,
9955
9959
  url = _props$url === void 0 ? "/tasks" : _props$url,
9960
+ _props$frequency = props.frequency,
9961
+ frequency = _props$frequency === void 0 ? 5000 : _props$frequency,
9956
9962
  children = props.children;
9957
9963
  var API = CollectionAPI(url, host);
9964
+
9965
+ var _useState = React.useState([]),
9966
+ listeners = _useState[0],
9967
+ setListeners = _useState[1];
9968
+
9969
+ function addListener(taskId, listener) {
9970
+ var listenerId = listeners.length;
9971
+ listeners.push({
9972
+ taskId: taskId,
9973
+ listener: listener
9974
+ });
9975
+ return listenerId;
9976
+ }
9977
+
9978
+ function removeTaskListeners(taskId) {
9979
+ var newListeners = listeners.filter(function (listener) {
9980
+ return listener.taskId !== taskId;
9981
+ });
9982
+ setListeners(newListeners);
9983
+ }
9984
+
9985
+ React.useEffect(function () {
9986
+ var interval = setInterval(function () {
9987
+ try {
9988
+ return Promise.resolve(API.all()).then(function (tasks) {
9989
+ listeners.forEach(function (_ref) {
9990
+ var taskId = _ref.taskId,
9991
+ listener = _ref.listener;
9992
+ var task = tasks.find(function (task) {
9993
+ return task.id === taskId;
9994
+ });
9995
+ if (task) listener(task);
9996
+ });
9997
+ });
9998
+ } catch (e) {
9999
+ return Promise.reject(e);
10000
+ }
10001
+ }, frequency);
10002
+ return function () {
10003
+ return clearInterval(interval);
10004
+ };
10005
+ }, []);
9958
10006
  var value = {
9959
10007
  tasks: tasks,
9960
10008
  task: task,
9961
10009
  createTask: createTask,
9962
- removeTask: removeTask
10010
+ removeTask: removeTask,
10011
+ addListener: addListener
9963
10012
  };
9964
10013
  return /*#__PURE__*/React__default["default"].createElement(TaskContext.Provider, {
9965
10014
  value: value
@@ -9992,9 +10041,9 @@
9992
10041
  autoreload = _props$autoreload === void 0 ? true : _props$autoreload,
9993
10042
  onComplete = props.onComplete;
9994
10043
 
9995
- var _useState = React.useState(0),
9996
- progress = _useState[0],
9997
- setProgress = _useState[1];
10044
+ var _useState2 = React.useState(0),
10045
+ progress = _useState2[0],
10046
+ setProgress = _useState2[1];
9998
10047
 
9999
10048
  React.useEffect(function () {
10000
10049
  if (autoreload) {
@@ -10040,10 +10089,10 @@
10040
10089
  filters = props.filters;
10041
10090
  var context = React.useContext(TaskContext);
10042
10091
 
10043
- var _useState2 = React.useState([]),
10044
- _useState2$ = _useState2[0],
10045
- tasks = _useState2$ === void 0 ? [] : _useState2$,
10046
- setTasks = _useState2[1];
10092
+ var _useState3 = React.useState([]),
10093
+ _useState3$ = _useState3[0],
10094
+ tasks = _useState3$ === void 0 ? [] : _useState3$,
10095
+ setTasks = _useState3[1];
10047
10096
 
10048
10097
  React.useEffect(function () {
10049
10098
  refresh();
@@ -10070,10 +10119,14 @@
10070
10119
  label: ""
10071
10120
  }, {
10072
10121
  id: "init",
10073
- label: "Inicio"
10122
+ label: "Inicio",
10123
+ type: TYPES.STRING,
10124
+ format: FORMATS.DATE
10074
10125
  }, {
10075
10126
  id: "end",
10076
- label: "Fin"
10127
+ label: "Fin",
10128
+ type: TYPES.STRING,
10129
+ format: FORMATS.DATE
10077
10130
  }, {
10078
10131
  id: "resourceID",
10079
10132
  label: "Recurso"