Rowmap Rewrite

Issue #100 new
Enthalpy created an issue

Currently, the rowmap system is extremely complex, error-prone, and sparsely commented.

It is proposed that this system be rewritten or replaced, focusing on simplification, clarifying the purposes of all code, and making the design more intuitive.

Comments (1)

  1. Arnaud ViƩ

    This rewrite should take into account the cause of issue #2 and avoid it - if we keep a smilar setup at all.

    In issue #2, the problem is that the edition of the trial data went fine, the edition of the row map itself went fine... but the refreshActions generated from the row map edits were wrong so the UI got messed up.

    To avoid this kind of issues, it may be better not to log a sequence of refresh actions anymore, but compute a global diff of all changes done on the row map.

    It would probably be a good use case for the BufferWrapper, if we redesign the rowmap to clearly separate its logic from its object model (list of blocks with basic info), which can be wrapped into the BufferWrapper and on which all changes would be logged.

    Then, for each sequence of row map operations, it would be simple enough to instantiate the wrapper, perform the changes, get the diff and determine the refresh actions from that diff. This supposes that the ArrayBufferWrapper is correctly implemented and tested though, since it would have to handle lots of operations.

  2. Log in to comment