@agilemotion/oui-react-js 2.0.1 → 2.0.3
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/DynamicJS.js
CHANGED
|
@@ -15,6 +15,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
15
15
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
16
16
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
17
|
const TEMPLATE_REGEX = exports.TEMPLATE_REGEX = new RegExp('[@]{1}([#@]{1}{)(([a-zA-Z0-9_.[\\]]*)+){1}}((\\(([^)]*)\\))*)', 'g');
|
|
18
|
+
const AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;
|
|
18
19
|
class DynamicJS {
|
|
19
20
|
constructor() {
|
|
20
21
|
var _this = this;
|
|
@@ -67,6 +68,10 @@ class DynamicJS {
|
|
|
67
68
|
* @param scriptConfig
|
|
68
69
|
* @param printError
|
|
69
70
|
* @param scriptParam
|
|
71
|
+
* @param isAsync when true, the script body is wrapped in an AsyncFunction
|
|
72
|
+
* so it may use `await`. The call returns a Promise instead
|
|
73
|
+
* of a synchronous value. Defaults to false to preserve the
|
|
74
|
+
* behavior of every existing scriptlet caller.
|
|
70
75
|
*/
|
|
71
76
|
_defineProperty(this, "executeScript", function (name, scriptCode, componentId) {
|
|
72
77
|
let isScriplet = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
@@ -74,6 +79,7 @@ class DynamicJS {
|
|
|
74
79
|
let scriptConfig = arguments.length > 5 ? arguments[5] : undefined;
|
|
75
80
|
let printError = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : true;
|
|
76
81
|
let scriptParam = arguments.length > 7 ? arguments[7] : undefined;
|
|
82
|
+
let isAsync = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
|
|
77
83
|
let parsedScript = _this.parseScript(scriptCode, componentId, isScriplet);
|
|
78
84
|
let eventParam = null;
|
|
79
85
|
if (!_Utils.default.isNull(event)) {
|
|
@@ -83,7 +89,9 @@ class DynamicJS {
|
|
|
83
89
|
}
|
|
84
90
|
try {
|
|
85
91
|
// NB : The javascript serializer uses UCT for dates and it is 2 hours behind. TODO : use DateUtils.makeDateReplacer
|
|
86
|
-
|
|
92
|
+
const body = parsedScript.replace(/\$event/g, JSON.stringify(eventParam));
|
|
93
|
+
const FunctionCtor = isAsync ? AsyncFunction : Function;
|
|
94
|
+
let func = new FunctionCtor(body);
|
|
87
95
|
if (!_Utils.default.isNull(name)) {
|
|
88
96
|
DynamicJS.prototype[name] = func;
|
|
89
97
|
let result = instance[name](scriptParam ? scriptParam : {});
|
|
@@ -115,7 +123,8 @@ class DynamicJS {
|
|
|
115
123
|
let event = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
116
124
|
let scriptParam = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
|
|
117
125
|
let scriptBody = _this.getScriptCode(script, valuesMap);
|
|
118
|
-
|
|
126
|
+
const isAsync = !_Utils.default.isNull(script) && script.async === true;
|
|
127
|
+
return _this.executeScript(name, scriptBody, componentId, false, event, script, true, scriptParam, isAsync);
|
|
119
128
|
});
|
|
120
129
|
_defineProperty(this, "executeScriptFunction", function (scriptObject) {
|
|
121
130
|
const fnCode = _this.parseScript(scriptObject, null, false);
|
|
@@ -45,8 +45,11 @@ const AutoCompleteWrapper = props => {
|
|
|
45
45
|
value.current = [];
|
|
46
46
|
} else if (Array.isArray(base.value)) {
|
|
47
47
|
value.current = base.value.reduce((keys, currValue) => {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
if (currValue) {
|
|
49
|
+
keys.push(currValue[props.config.attributes.searchAttribute]);
|
|
50
|
+
return keys;
|
|
51
|
+
}
|
|
52
|
+
return [];
|
|
50
53
|
}, []);
|
|
51
54
|
for (const valueElement of base.value) {
|
|
52
55
|
entityStore.push(valueElement);
|
|
@@ -14,9 +14,21 @@ class ScriptActionHandler {
|
|
|
14
14
|
}
|
|
15
15
|
return ScriptActionHandler.instance;
|
|
16
16
|
}
|
|
17
|
-
execute(actionConfig, event, component, currentViewId) {
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
async execute(actionConfig, event, component, currentViewId) {
|
|
18
|
+
const componentId = event === null || event === void 0 ? void 0 : event.getSource().api.id;
|
|
19
|
+
const scriptName = currentViewId + '_' + (componentId ? componentId : currentViewId) + '_script';
|
|
20
|
+
try {
|
|
21
|
+
const result = _DynamicJS.default.executeScriptObject(scriptName, actionConfig.script, componentId, {}, event);
|
|
22
|
+
if (result && typeof result.then === 'function') {
|
|
23
|
+
console.log("[ScriptActionHandler] awaiting async script:", scriptName);
|
|
24
|
+
return await result;
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
} catch (e) {
|
|
28
|
+
// Event-loop callers do not await execute(); rethrow would surface as
|
|
29
|
+
// an unhandled promise rejection. Log only — error stays visible in DevTools.
|
|
30
|
+
console.error("[ScriptActionHandler] script failed:", scriptName, e);
|
|
31
|
+
}
|
|
20
32
|
}
|
|
21
33
|
}
|
|
22
34
|
const instance = new ScriptActionHandler();
|
package/dist/js/Docs.js
CHANGED
|
@@ -104,14 +104,48 @@ class Docs {
|
|
|
104
104
|
body: data
|
|
105
105
|
};
|
|
106
106
|
let url = location + uploadUrl;
|
|
107
|
+
console.log("[Docs.cacheFile] POST", url, "metadata=", metadata, "orgCode=", orgCode);
|
|
107
108
|
return new Promise((resolve, reject) => {
|
|
108
109
|
(0, _reactPromiseTracker.trackPromise)(fetch(encodeURI(url), fetchConfig).then(status).then(json).then(data => {
|
|
110
|
+
console.log("[Docs.cacheFile] success correlationId=", correlationId, "cacheFileId=", data);
|
|
109
111
|
resolve(data);
|
|
110
112
|
}).catch(e => {
|
|
113
|
+
console.error("[Docs.cacheFile] failed correlationId=", correlationId, "error=", e);
|
|
111
114
|
reject(e);
|
|
112
115
|
}));
|
|
113
116
|
});
|
|
114
117
|
});
|
|
118
|
+
_defineProperty(this, "cacheAndPublish", async (file, correlationId, viewId, sourceApiId, orgCode) => {
|
|
119
|
+
console.log("[Docs.cacheAndPublish] correlationId=", correlationId, "viewId=", viewId, "sourceApiId=", sourceApiId, "orgCode=", orgCode);
|
|
120
|
+
if (file) {
|
|
121
|
+
console.log("[Docs.cacheAndPublish] entry", "file=", file && {
|
|
122
|
+
name: file.name,
|
|
123
|
+
type: file.type,
|
|
124
|
+
size: file.size
|
|
125
|
+
}, "correlationId=", correlationId, "viewId=", viewId, "sourceApiId=", sourceApiId, "orgCode=", orgCode);
|
|
126
|
+
try {
|
|
127
|
+
const cacheFileId = await this.cacheFile(file, correlationId, orgCode);
|
|
128
|
+
console.log("[Docs.cacheAndPublish] cacheFileId=", cacheFileId, "(correlationId=", correlationId, ")");
|
|
129
|
+
_ApplicationManager.default.api.fireEvent('DOCUMENT_CACHED', {
|
|
130
|
+
source: {
|
|
131
|
+
api: {
|
|
132
|
+
id: sourceApiId
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
viewId: viewId,
|
|
136
|
+
data: cacheFileId
|
|
137
|
+
});
|
|
138
|
+
console.log("[Docs.cacheAndPublish] fired SERVICE_CALL_SUCCESS sourceApiId=", sourceApiId, "viewId=", viewId);
|
|
139
|
+
return cacheFileId;
|
|
140
|
+
} catch (e) {
|
|
141
|
+
console.error("[Docs.cacheAndPublish] failed correlationId=", correlationId, "viewId=", viewId, "sourceApiId=", sourceApiId, "error=", e);
|
|
142
|
+
throw e;
|
|
143
|
+
}
|
|
144
|
+
} else {
|
|
145
|
+
console.log("[Docs.cacheAndPublish] no file");
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
115
149
|
_defineProperty(this, "removeAllHtmlBackGroundImages", htmlBase64 => {
|
|
116
150
|
let html = atob(htmlBase64);
|
|
117
151
|
let parser = new DOMParser();
|
|
@@ -128,4 +162,4 @@ class Docs {
|
|
|
128
162
|
}
|
|
129
163
|
exports.Docs = Docs;
|
|
130
164
|
const instance = new Docs();
|
|
131
|
-
var _default = exports.default = instance;
|
|
165
|
+
var _default = exports.default = instance; //COJ0003-25/26
|
package/package.json
CHANGED