-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove most current parse-stage dependency analysis
As described in the previous commit, for the most part this usage of dependency analysis during form parsing is completely redundant to logic performed in the course of evaluating XPath expressions with `engineDOMAdapter`. In theory, this commit could also delete a bunch of the dependency analysis code along with it. But that code will have value for other purposes. Top of mind: a proper implemenation of cycle detection. I anticipate other use cases as well. There is still some remaining dependency analysis in active use. This largely focuses on: - Setting up reactive subscriptions to translation state, updating expressions with `jr:itext` calls when the form’s active language state is changed - Identifying “notes”, as we’ve modeled them to be value nodes with a `readonly` bind expression which will always evaluate to true There is certainly still some further simplification left on the table at this commit point. It’s not clear how much the `DependencyContext`/`DependentExpression` abstraction still makes sense. We certainly still use `DependentExpression` to set up reactive computations, but there are other aspects of the conceptual pair which are likely redundant now as well. I’ve left these unaddressed to try to wind up this refactor as quickly as possible.
- Loading branch information
1 parent
fd90224
commit 0d0434e
Showing
9 changed files
with
13 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 12 additions & 7 deletions
19
packages/xforms-engine/src/lib/reactivity/createNoteReadonlyThunk.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters