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