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/db/db.json +6 -18
- package/dist/index.cjs +83 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +83 -41
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +83 -41
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain2/CollectionContext.js +15 -2
- package/src/html/tab.js +3 -1
- package/src/incubator/task-test.js +44 -11
- package/src/incubator/task.js +57 -31
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
|
-
},
|
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
|
-
|
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
|
-
|
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
|
-
|
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(
|
10972
|
+
var removeTask = function removeTask(task) {
|
10956
10973
|
try {
|
10957
10974
|
return Promise.resolve(_catch(function () {
|
10958
|
-
|
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(
|
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
|
-
|
11017
|
-
|
11018
|
-
|
11019
|
-
|
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(
|
11026
|
-
|
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
|
11038
|
-
|
11039
|
-
|
11040
|
-
|
11041
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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);
|