ywana-core8 0.0.768 → 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/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
@@ -10355,6 +10359,8 @@
10355
10359
 
10356
10360
  var load = function load() {
10357
10361
  try {
10362
+ var _exit2;
10363
+
10358
10364
  var runCustomFilters = function runCustomFilters(all) {
10359
10365
  var cfs = Object.values(customFilters);
10360
10366
  var data = cfs.length ? cfs.reduce(function (acc, filter) {
@@ -10363,17 +10369,16 @@
10363
10369
  return data;
10364
10370
  };
10365
10371
 
10366
- var _temp4 = _catch$1(function () {
10372
+ return Promise.resolve(_catch$1(function () {
10367
10373
  return Promise.resolve(API.all(filters, likes, page)).then(function (response) {
10368
10374
  var next = field ? response[field] : response;
10369
10375
  var data = runCustomFilters(next);
10370
- setAll(data);
10376
+ _exit2 = 1;
10377
+ return data;
10371
10378
  });
10372
10379
  }, function (error) {
10373
10380
  console.log(error);
10374
- });
10375
-
10376
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
10381
+ }));
10377
10382
  } catch (e) {
10378
10383
  return Promise.reject(e);
10379
10384
  }
@@ -10415,7 +10420,19 @@
10415
10420
 
10416
10421
  React.useEffect(function () {
10417
10422
  console.log("CONTEXT LOAD for Filters", filters, customFilters);
10418
- load();
10423
+ var mounted = true;
10424
+
10425
+ var callLoad = function callLoad() {
10426
+ return Promise.resolve(load()).then(function (data) {
10427
+ if (mounted) setAll(data);
10428
+ });
10429
+ };
10430
+
10431
+ callLoad();
10432
+ return function () {
10433
+ console.log("CONTEXT UNMOUNT", filters, customFilters);
10434
+ mounted = false;
10435
+ };
10419
10436
  }, [filters, customFilters]);
10420
10437
 
10421
10438
  function clearSelection() {
@@ -10952,11 +10969,10 @@
10952
10969
 
10953
10970
  var TaskContext = React__default["default"].createContext({});
10954
10971
  var TaskContextProvider = function TaskContextProvider(props) {
10955
- var removeTask = function removeTask(id) {
10972
+ var removeTask = function removeTask(task) {
10956
10973
  try {
10957
10974
  return Promise.resolve(_catch(function () {
10958
- removeListener(id);
10959
- return Promise.resolve(API.remove(id));
10975
+ return Promise.resolve(API.remove(task.id));
10960
10976
  }, function (error) {
10961
10977
  console.log("removeTask error", error);
10962
10978
  }));
@@ -10965,11 +10981,23 @@
10965
10981
  }
10966
10982
  };
10967
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
+
10968
10996
  var createTask = function createTask(task, listener) {
10969
10997
  try {
10970
10998
  return Promise.resolve(_catch(function () {
10971
10999
  return Promise.resolve(API.create(task)).then(function (response) {
10972
- if (listener) addListener(response.id, listener);
11000
+ if (listener) addListener(taskName, listener);
10973
11001
  return response;
10974
11002
  });
10975
11003
  }, function (error) {
@@ -11009,38 +11037,35 @@
11009
11037
  url = _props$url === void 0 ? "/tasks" : _props$url,
11010
11038
  _props$frequency = props.frequency,
11011
11039
  frequency = _props$frequency === void 0 ? 5000 : _props$frequency,
11012
- children = props.children;
11040
+ children = props.children,
11041
+ _props$listeners = props.listeners,
11042
+ listeners = _props$listeners === void 0 ? {} : _props$listeners;
11013
11043
  var API = CollectionAPI$1(url, host);
11014
- var listeners = [];
11015
11044
 
11016
- function addListener(taskId, listener) {
11017
- var listenerId = listeners.length;
11018
- listeners.push({
11019
- taskId: taskId,
11020
- listener: listener
11021
- });
11022
- return listenerId;
11045
+ var _listeners = Object.assign({}, listeners);
11046
+
11047
+ function addListener(taskName, listener) {
11048
+ _listeners[taskName] = listener;
11023
11049
  }
11024
11050
 
11025
- function removeListener(taskId) {
11026
- listeners.forEach(function (listener, index) {
11027
- if (listener.taskId === taskId) {
11028
- listeners.splice(index, 1);
11029
- }
11030
- });
11051
+ function removeListener(taskName) {
11052
+ delete _listeners[taskName];
11031
11053
  }
11032
11054
 
11033
11055
  React.useEffect(function () {
11034
11056
  var interval = setInterval(function () {
11035
11057
  try {
11036
11058
  return Promise.resolve(API.all()).then(function (tasks) {
11037
- listeners.forEach(function (_ref) {
11038
- var taskId = _ref.taskId,
11039
- listener = _ref.listener;
11040
- var task = tasks.find(function (task) {
11041
- 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);
11042
11068
  });
11043
- if (task) listener(task);
11044
11069
  });
11045
11070
  });
11046
11071
  } catch (e) {
@@ -11055,6 +11080,7 @@
11055
11080
  tasks: tasks,
11056
11081
  task: task,
11057
11082
  createTask: createTask,
11083
+ updateTask: updateTask,
11058
11084
  removeTask: removeTask,
11059
11085
  addListener: addListener,
11060
11086
  removeListener: removeListener
@@ -11115,7 +11141,8 @@
11115
11141
  var TaskMonitor = function TaskMonitor(props) {
11116
11142
  var remove = function remove(task) {
11117
11143
  try {
11118
- return Promise.resolve(context.removeTask(task.id)).then(function () {
11144
+ console.log("remove", task);
11145
+ return Promise.resolve(context.removeTask(task)).then(function () {
11119
11146
  refresh();
11120
11147
  });
11121
11148
  } catch (e) {
@@ -11135,7 +11162,8 @@
11135
11162
 
11136
11163
  var _props$title = props.title,
11137
11164
  title = _props$title === void 0 ? "Task Monitor" : _props$title,
11138
- filters = props.filters;
11165
+ filters = props.filters,
11166
+ editors = props.editors;
11139
11167
  var context = React.useContext(TaskContext);
11140
11168
 
11141
11169
  var _useState2 = React.useState([]),
@@ -11189,16 +11217,16 @@
11189
11217
  rows: tasks.map(function (task) {
11190
11218
  return {
11191
11219
  id: task.id,
11192
- resourceID: task.resourceID,
11193
- init: task.init,
11194
- end: task.end,
11195
- owner: task.owner,
11220
+ state: task.state,
11196
11221
  description: task.description,
11197
- percentage: task.percentage,
11198
11222
  progress: /*#__PURE__*/React__default["default"].createElement(LinearProgress, {
11199
11223
  progress: task.percentage
11200
11224
  }),
11201
- state: task.state,
11225
+ percentage: task.percentage,
11226
+ init: task.init,
11227
+ end: task.end,
11228
+ resourceID: task.resourceID,
11229
+ owner: task.owner,
11202
11230
  actions: /*#__PURE__*/React__default["default"].createElement(Icon, {
11203
11231
  size: "small",
11204
11232
  icon: "cancel",
@@ -11206,7 +11234,11 @@
11206
11234
  action: function action() {
11207
11235
  return remove(task);
11208
11236
  }
11209
- })
11237
+ }),
11238
+ info: editors && task.result ? /*#__PURE__*/React__default["default"].createElement(TaskInfo, {
11239
+ task: task,
11240
+ editors: editors
11241
+ }) : null
11210
11242
  };
11211
11243
  })
11212
11244
  };
@@ -11217,6 +11249,16 @@
11217
11249
  title: title
11218
11250
  }), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(DataTable, table)));
11219
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
+ };
11220
11262
 
11221
11263
  var isFunction = function isFunction(value) {
11222
11264
  return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);