ywana-core8 0.0.769 → 0.0.771

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