ywana-core8 0.0.769 → 0.0.770

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,24 +1,12 @@
1
1
  {
2
2
  "tasks": [
3
3
  {
4
- "description": "Test Task 1666280018467",
5
- "init": "Thu Oct 20 2022 17:33:38 GMT+0200 (hora de verano de Europa central)",
6
- "id": 1
7
- },
8
- {
9
- "description": "Test Task 1666280114789",
10
- "init": "Thu Oct 20 2022 17:35:14 GMT+0200 (hora de verano de Europa central)",
11
- "id": 2
12
- },
13
- {
14
- "description": "Test Task 1666280157411",
15
- "init": "Thu Oct 20 2022 17:35:57 GMT+0200 (hora de verano de Europa central)",
16
- "id": 3
17
- },
18
- {
19
- "description": "Test Task 1666280363301",
20
- "init": "Thu Oct 20 2022 17:39:23 GMT+0200 (hora de verano de Europa central)",
21
- "id": 4
4
+ "name": "TEST",
5
+ "description": "Test Task 1671191671807",
6
+ "result": "OK",
7
+ "id": 1,
8
+ "progress": 50,
9
+ "percentage": 3292
22
10
  }
23
11
  ],
24
12
  "references": [
package/dist/index.cjs CHANGED
@@ -1101,6 +1101,7 @@ var Tabs = function Tabs(props) {
1101
1101
 
1102
1102
  var Tab = function Tab(props) {
1103
1103
  var id = props.id,
1104
+ icon = props.icon,
1104
1105
  label = props.label,
1105
1106
  selected = props.selected,
1106
1107
  actions = props.actions,
@@ -1114,7 +1115,10 @@ var Tab = function Tab(props) {
1114
1115
  return /*#__PURE__*/React__default["default"].createElement("div", {
1115
1116
  className: "tab " + style,
1116
1117
  onClick: select
1117
- }, label, actions ? actions : null);
1118
+ }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
1119
+ icon: icon,
1120
+ size: "small"
1121
+ }) : null, label, actions ? actions : null);
1118
1122
  };
1119
1123
  /**
1120
1124
  * Stack
@@ -10971,11 +10975,10 @@ function _catch(body, recover) {
10971
10975
 
10972
10976
  var TaskContext = React__default["default"].createContext({});
10973
10977
  var TaskContextProvider = function TaskContextProvider(props) {
10974
- var removeTask = function removeTask(id) {
10978
+ var removeTask = function removeTask(task) {
10975
10979
  try {
10976
10980
  return Promise.resolve(_catch(function () {
10977
- removeListener(id);
10978
- return Promise.resolve(API.remove(id));
10981
+ return Promise.resolve(API.remove(task.id));
10979
10982
  }, function (error) {
10980
10983
  console.log("removeTask error", error);
10981
10984
  }));
@@ -10984,11 +10987,23 @@ var TaskContextProvider = function TaskContextProvider(props) {
10984
10987
  }
10985
10988
  };
10986
10989
 
10990
+ var updateTask = function updateTask(task) {
10991
+ try {
10992
+ return Promise.resolve(_catch(function () {
10993
+ return Promise.resolve(API.update(task));
10994
+ }, function (error) {
10995
+ console.log("updateTask error", error);
10996
+ }));
10997
+ } catch (e) {
10998
+ return Promise.reject(e);
10999
+ }
11000
+ };
11001
+
10987
11002
  var createTask = function createTask(task, listener) {
10988
11003
  try {
10989
11004
  return Promise.resolve(_catch(function () {
10990
11005
  return Promise.resolve(API.create(task)).then(function (response) {
10991
- if (listener) addListener(response.id, listener);
11006
+ if (listener) addListener(taskName, listener);
10992
11007
  return response;
10993
11008
  });
10994
11009
  }, function (error) {
@@ -11028,38 +11043,35 @@ var TaskContextProvider = function TaskContextProvider(props) {
11028
11043
  url = _props$url === void 0 ? "/tasks" : _props$url,
11029
11044
  _props$frequency = props.frequency,
11030
11045
  frequency = _props$frequency === void 0 ? 5000 : _props$frequency,
11031
- children = props.children;
11046
+ children = props.children,
11047
+ _props$listeners = props.listeners,
11048
+ listeners = _props$listeners === void 0 ? {} : _props$listeners;
11032
11049
  var API = CollectionAPI$1(url, host);
11033
- var listeners = [];
11034
11050
 
11035
- function addListener(taskId, listener) {
11036
- var listenerId = listeners.length;
11037
- listeners.push({
11038
- taskId: taskId,
11039
- listener: listener
11040
- });
11041
- return listenerId;
11051
+ var _listeners = Object.assign({}, listeners);
11052
+
11053
+ function addListener(taskName, listener) {
11054
+ _listeners[taskName] = listener;
11042
11055
  }
11043
11056
 
11044
- function removeListener(taskId) {
11045
- listeners.forEach(function (listener, index) {
11046
- if (listener.taskId === taskId) {
11047
- listeners.splice(index, 1);
11048
- }
11049
- });
11057
+ function removeListener(taskName) {
11058
+ delete _listeners[taskName];
11050
11059
  }
11051
11060
 
11052
11061
  React.useEffect(function () {
11053
11062
  var interval = setInterval(function () {
11054
11063
  try {
11055
11064
  return Promise.resolve(API.all()).then(function (tasks) {
11056
- listeners.forEach(function (_ref) {
11057
- var taskId = _ref.taskId,
11058
- listener = _ref.listener;
11059
- var task = tasks.find(function (task) {
11060
- return task.id === taskId;
11065
+ // invoque listeners for each task
11066
+ Object.entries(_listeners).forEach(function (_ref) {
11067
+ var taskName = _ref[0],
11068
+ listener = _ref[1];
11069
+ var listenerTasks = tasks.filter(function (task) {
11070
+ return task.name === taskName;
11071
+ });
11072
+ listenerTasks.forEach(function (task) {
11073
+ return listener(task, value);
11061
11074
  });
11062
- if (task) listener(task);
11063
11075
  });
11064
11076
  });
11065
11077
  } catch (e) {
@@ -11074,6 +11086,7 @@ var TaskContextProvider = function TaskContextProvider(props) {
11074
11086
  tasks: tasks,
11075
11087
  task: task,
11076
11088
  createTask: createTask,
11089
+ updateTask: updateTask,
11077
11090
  removeTask: removeTask,
11078
11091
  addListener: addListener,
11079
11092
  removeListener: removeListener
@@ -11134,7 +11147,8 @@ var TaskProgress = function TaskProgress(props) {
11134
11147
  var TaskMonitor = function TaskMonitor(props) {
11135
11148
  var remove = function remove(task) {
11136
11149
  try {
11137
- return Promise.resolve(context.removeTask(task.id)).then(function () {
11150
+ console.log("remove", task);
11151
+ return Promise.resolve(context.removeTask(task)).then(function () {
11138
11152
  refresh();
11139
11153
  });
11140
11154
  } catch (e) {
@@ -11154,7 +11168,8 @@ var TaskMonitor = function TaskMonitor(props) {
11154
11168
 
11155
11169
  var _props$title = props.title,
11156
11170
  title = _props$title === void 0 ? "Task Monitor" : _props$title,
11157
- filters = props.filters;
11171
+ filters = props.filters,
11172
+ editors = props.editors;
11158
11173
  var context = React.useContext(TaskContext);
11159
11174
 
11160
11175
  var _useState2 = React.useState([]),
@@ -11208,16 +11223,16 @@ var TaskMonitor = function TaskMonitor(props) {
11208
11223
  rows: tasks.map(function (task) {
11209
11224
  return {
11210
11225
  id: task.id,
11211
- resourceID: task.resourceID,
11212
- init: task.init,
11213
- end: task.end,
11214
- owner: task.owner,
11226
+ state: task.state,
11215
11227
  description: task.description,
11216
- percentage: task.percentage,
11217
11228
  progress: /*#__PURE__*/React__default["default"].createElement(LinearProgress, {
11218
11229
  progress: task.percentage
11219
11230
  }),
11220
- state: task.state,
11231
+ percentage: task.percentage,
11232
+ init: task.init,
11233
+ end: task.end,
11234
+ resourceID: task.resourceID,
11235
+ owner: task.owner,
11221
11236
  actions: /*#__PURE__*/React__default["default"].createElement(Icon, {
11222
11237
  size: "small",
11223
11238
  icon: "cancel",
@@ -11225,7 +11240,11 @@ var TaskMonitor = function TaskMonitor(props) {
11225
11240
  action: function action() {
11226
11241
  return remove(task);
11227
11242
  }
11228
- })
11243
+ }),
11244
+ info: editors && task.result ? /*#__PURE__*/React__default["default"].createElement(TaskInfo, {
11245
+ task: task,
11246
+ editors: editors
11247
+ }) : null
11229
11248
  };
11230
11249
  })
11231
11250
  };
@@ -11236,6 +11255,16 @@ var TaskMonitor = function TaskMonitor(props) {
11236
11255
  title: title
11237
11256
  }), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(DataTable, table)));
11238
11257
  };
11258
+ /**
11259
+ * Task Info
11260
+ */
11261
+
11262
+ var TaskInfo = function TaskInfo(props) {
11263
+ var task = props.task,
11264
+ editors = props.editors;
11265
+ var editor = editors ? editors[task.action] : null;
11266
+ return editor(task);
11267
+ };
11239
11268
 
11240
11269
  var isFunction = function isFunction(value) {
11241
11270
  return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);