-
-
Notifications
You must be signed in to change notification settings - Fork 10
Code
The code has been commented throughout to indicate detailed issues that could, otherwise, cause general logic errors...particularly with the JavaScript code.
The JavaScript code uses classes to manage all the pertinent functionality. However, the code relies on base OpenRefine code for several feature concerning widget popups. A class extension technique has been used to manage the matching non-class OpenRefine code.
In several instances, client JavaScript code was duplicating server Java code. Since the Java code is inherently more stable than the JavaScript code (JavaScript has, in general, a brittle code base where changes may affect the code drastically due to un-tracked dependencies and the lack of type tracking by the various IDEs--linters help).
Therefore, the client favors server calls to fulfill this functionality. In general, this requires synchronous interaction and is managed by "async" and "await" on the client-side code.