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.
@@ -1093,6 +1093,7 @@ var Tabs = function Tabs(props) {
1093
1093
 
1094
1094
  var Tab = function Tab(props) {
1095
1095
  var id = props.id,
1096
+ icon = props.icon,
1096
1097
  label = props.label,
1097
1098
  selected = props.selected,
1098
1099
  actions = props.actions,
@@ -1106,7 +1107,10 @@ var Tab = function Tab(props) {
1106
1107
  return /*#__PURE__*/React.createElement("div", {
1107
1108
  className: "tab " + style,
1108
1109
  onClick: select
1109
- }, label, actions ? actions : null);
1110
+ }, icon ? /*#__PURE__*/React.createElement(Icon, {
1111
+ icon: icon,
1112
+ size: "small"
1113
+ }) : null, label, actions ? actions : null);
1110
1114
  };
1111
1115
  /**
1112
1116
  * Stack
@@ -10963,11 +10967,10 @@ function _catch(body, recover) {
10963
10967
 
10964
10968
  var TaskContext = React.createContext({});
10965
10969
  var TaskContextProvider = function TaskContextProvider(props) {
10966
- var removeTask = function removeTask(id) {
10970
+ var removeTask = function removeTask(task) {
10967
10971
  try {
10968
10972
  return Promise.resolve(_catch(function () {
10969
- removeListener(id);
10970
- return Promise.resolve(API.remove(id));
10973
+ return Promise.resolve(API.remove(task.id));
10971
10974
  }, function (error) {
10972
10975
  console.log("removeTask error", error);
10973
10976
  }));
@@ -10976,11 +10979,23 @@ var TaskContextProvider = function TaskContextProvider(props) {
10976
10979
  }
10977
10980
  };
10978
10981
 
10982
+ var updateTask = function updateTask(task) {
10983
+ try {
10984
+ return Promise.resolve(_catch(function () {
10985
+ return Promise.resolve(API.update(task));
10986
+ }, function (error) {
10987
+ console.log("updateTask error", error);
10988
+ }));
10989
+ } catch (e) {
10990
+ return Promise.reject(e);
10991
+ }
10992
+ };
10993
+
10979
10994
  var createTask = function createTask(task, listener) {
10980
10995
  try {
10981
10996
  return Promise.resolve(_catch(function () {
10982
10997
  return Promise.resolve(API.create(task)).then(function (response) {
10983
- if (listener) addListener(response.id, listener);
10998
+ if (listener) addListener(taskName, listener);
10984
10999
  return response;
10985
11000
  });
10986
11001
  }, function (error) {
@@ -11020,38 +11035,35 @@ var TaskContextProvider = function TaskContextProvider(props) {
11020
11035
  url = _props$url === void 0 ? "/tasks" : _props$url,
11021
11036
  _props$frequency = props.frequency,
11022
11037
  frequency = _props$frequency === void 0 ? 5000 : _props$frequency,
11023
- children = props.children;
11038
+ children = props.children,
11039
+ _props$listeners = props.listeners,
11040
+ listeners = _props$listeners === void 0 ? {} : _props$listeners;
11024
11041
  var API = CollectionAPI$1(url, host);
11025
- var listeners = [];
11026
11042
 
11027
- function addListener(taskId, listener) {
11028
- var listenerId = listeners.length;
11029
- listeners.push({
11030
- taskId: taskId,
11031
- listener: listener
11032
- });
11033
- return listenerId;
11043
+ var _listeners = Object.assign({}, listeners);
11044
+
11045
+ function addListener(taskName, listener) {
11046
+ _listeners[taskName] = listener;
11034
11047
  }
11035
11048
 
11036
- function removeListener(taskId) {
11037
- listeners.forEach(function (listener, index) {
11038
- if (listener.taskId === taskId) {
11039
- listeners.splice(index, 1);
11040
- }
11041
- });
11049
+ function removeListener(taskName) {
11050
+ delete _listeners[taskName];
11042
11051
  }
11043
11052
 
11044
11053
  useEffect(function () {
11045
11054
  var interval = setInterval(function () {
11046
11055
  try {
11047
11056
  return Promise.resolve(API.all()).then(function (tasks) {
11048
- listeners.forEach(function (_ref) {
11049
- var taskId = _ref.taskId,
11050
- listener = _ref.listener;
11051
- var task = tasks.find(function (task) {
11052
- return task.id === taskId;
11057
+ // invoque listeners for each task
11058
+ Object.entries(_listeners).forEach(function (_ref) {
11059
+ var taskName = _ref[0],
11060
+ listener = _ref[1];
11061
+ var listenerTasks = tasks.filter(function (task) {
11062
+ return task.name === taskName;
11063
+ });
11064
+ listenerTasks.forEach(function (task) {
11065
+ return listener(task, value);
11053
11066
  });
11054
- if (task) listener(task);
11055
11067
  });
11056
11068
  });
11057
11069
  } catch (e) {
@@ -11066,6 +11078,7 @@ var TaskContextProvider = function TaskContextProvider(props) {
11066
11078
  tasks: tasks,
11067
11079
  task: task,
11068
11080
  createTask: createTask,
11081
+ updateTask: updateTask,
11069
11082
  removeTask: removeTask,
11070
11083
  addListener: addListener,
11071
11084
  removeListener: removeListener
@@ -11126,7 +11139,8 @@ var TaskProgress = function TaskProgress(props) {
11126
11139
  var TaskMonitor = function TaskMonitor(props) {
11127
11140
  var remove = function remove(task) {
11128
11141
  try {
11129
- return Promise.resolve(context.removeTask(task.id)).then(function () {
11142
+ console.log("remove", task);
11143
+ return Promise.resolve(context.removeTask(task)).then(function () {
11130
11144
  refresh();
11131
11145
  });
11132
11146
  } catch (e) {
@@ -11146,7 +11160,8 @@ var TaskMonitor = function TaskMonitor(props) {
11146
11160
 
11147
11161
  var _props$title = props.title,
11148
11162
  title = _props$title === void 0 ? "Task Monitor" : _props$title,
11149
- filters = props.filters;
11163
+ filters = props.filters,
11164
+ editors = props.editors;
11150
11165
  var context = useContext(TaskContext);
11151
11166
 
11152
11167
  var _useState2 = useState([]),
@@ -11200,16 +11215,16 @@ var TaskMonitor = function TaskMonitor(props) {
11200
11215
  rows: tasks.map(function (task) {
11201
11216
  return {
11202
11217
  id: task.id,
11203
- resourceID: task.resourceID,
11204
- init: task.init,
11205
- end: task.end,
11206
- owner: task.owner,
11218
+ state: task.state,
11207
11219
  description: task.description,
11208
- percentage: task.percentage,
11209
11220
  progress: /*#__PURE__*/React.createElement(LinearProgress, {
11210
11221
  progress: task.percentage
11211
11222
  }),
11212
- state: task.state,
11223
+ percentage: task.percentage,
11224
+ init: task.init,
11225
+ end: task.end,
11226
+ resourceID: task.resourceID,
11227
+ owner: task.owner,
11213
11228
  actions: /*#__PURE__*/React.createElement(Icon, {
11214
11229
  size: "small",
11215
11230
  icon: "cancel",
@@ -11217,7 +11232,11 @@ var TaskMonitor = function TaskMonitor(props) {
11217
11232
  action: function action() {
11218
11233
  return remove(task);
11219
11234
  }
11220
- })
11235
+ }),
11236
+ info: editors && task.result ? /*#__PURE__*/React.createElement(TaskInfo, {
11237
+ task: task,
11238
+ editors: editors
11239
+ }) : null
11221
11240
  };
11222
11241
  })
11223
11242
  };
@@ -11228,6 +11247,16 @@ var TaskMonitor = function TaskMonitor(props) {
11228
11247
  title: title
11229
11248
  }), /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement(DataTable, table)));
11230
11249
  };
11250
+ /**
11251
+ * Task Info
11252
+ */
11253
+
11254
+ var TaskInfo = function TaskInfo(props) {
11255
+ var task = props.task,
11256
+ editors = props.editors;
11257
+ var editor = editors ? editors[task.action] : null;
11258
+ return editor(task);
11259
+ };
11231
11260
 
11232
11261
  var isFunction = function isFunction(value) {
11233
11262
  return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);