daff.CellBuilder
Hooks to allow customization of how cells in a diff are represented.
For example, normally a modified cell is represented as a string
of the form version1->version2, but you might prefer to represent
it as a hash {before: 'version1', after: 'version2'}. If so,
you’d just need to override the update method here. Then call
TableDiff.setCellBuilder before generating your diff.
Type: interface
Methods:
conflict (parent : Dynamic, local : Dynamic, remote : Dynamic) : Dynamic
Build a cell that represents a conflicting change, where a
cell changed from `parent` to `local` in one table, and
from `parent` to `remote` in another.
Parameters:
parentthe value of the cell before any updatelocalthe value of the cell after an update locallyremotethe value of the cell after an update remotely
Returns: a cell representing a conflict
links (unit : Unit, row_like : Bool) : Dynamic
Create a cell representing the numeric relationship between rows/columns
Parameters:
unitthe desired relationship, in terms of a local row/column number, a remote row/column number and when present a parent row/column numberrow_liketrue if working with rows, false if working with columns
Returns: a cell representing the numeric relationship between a row/column
marker (label : String) : Dynamic
Create a cell representing one of the many tags used in
data diffs.
Parameters:
labelthe desired tag
Returns: a cell representing that tag
needSeparator () : Bool
Regular diffs make use of separators of the form "->" or "-->"
or "--->" or ... that is chosen so as to not collide with any
actual text in the tables being compared. This method gives
you a chance to say you don't need that, saving some cycles.
Returns: true if a standard unique separator should be computed
setConflictSeparator (separator : String) : Void
This method will be called with an appropriate separator
for cell conflicts, if `needSeparator` returns true.
Parameters:
separatora unique string that is not present in the tables being compared, suitable for use in representing cell conflicts.
setSeparator (separator : String) : Void
This method will be called with an appropriate separator
for cell updates, if `needSeparator` returns true.
Parameters:
separatora unique string that is not present in the tables being compared, suitable for use in representing cell updates.
setView (view : View) : Void
This method is called with a helper for interpreting the contents
of cells. It is prepared by calling `getCellView` on one of
the tables.
Parameters:
viewa helper for interpreting cell contents (e.g. converting them to a string)
update (local : Dynamic, remote : Dynamic) : Dynamic
Build a cell that represents a change from `local` to `remote`
Parameters:
localthe value of the cell before an updateremotethe value of the cell after an update
Returns: a cell representing an update