Handsontable always applies the "move" operation to the supplied data
array, hence we always denied the move operation for handsontable and
instead update it with a moved data array.
I'm not sure why the `target += 1` was introduced, but it caused wrong
behavior which was fixed by removing it.
Moving a row, changes the object the `meta` variable points to. However
the context-menu got its own reference to the initial object when it
was initialized. Hence after a move, these two were out of sync. By
providing getters to the context menu, it should always have access to
the object the current meta variable is referencing.
In the beginning handsontable_config.data is set to the object in the
data variable. However if that data variable is assigned a new object,
then these two are out of sync.
This results in errors, for example the deletion of a row would than no
longer remove that row from the data variable (only from
handsontable_config.data, which is a different object).
APL-60
This is now using the hot-builder with our adjusted hot-version at
https://github.com/cosmocode/handsontable/commits/dokuwiki2017 with the
commit 8c7e09f37ab5bd9de6a4dff082026abd8a794ccf
It still [in/ex]cludes the following plugins:
AutoColumnSize [included]
AutoRowSize [included]
Autofill [included]
ColumnSorting [excluded]
Comments [excluded]
ContextMenu [included]
CopyPaste [included]
CustomBorders [excluded]
DragToScroll [included]
ManualColumnFreeze [included]
└── Included dependency: ManualColumnMove
ManualColumnMove [included]
ManualColumnResize [included]
ManualRowMove [included]
ManualRowResize [included]
MergeCells [included]
MultipleSelectionHandles [included]
ObserveChanges [excluded]
PersistentState [excluded]
Search [included]
TouchScroll [excluded]
UndoRedo [excluded]
At this opportunity we also raised the micro-version to 0.34.1
This file is practically the unchanged generated version and hence
better placed into the lib directory. Our changes and adjust will
continue to be made in the less directory.
This is mostly indentation and double->single quotes. It includes
turning qunit env on for qunit test-files and disabling no-magic-numbers
for a test-file that is all about moving a row from position one to
position two and back again.
We include explicitly the last two versions of the major browsers and
the 'above 1%'-rule to catch remaining important browsers. This removes
older versions of barely used browsers like Blackberry Browser 7
Some of the column/row-headers have z-indizes up to 103. The linkwizard
should be above those elements. Since it is appended to the end of the
page, it is enough if the z-index is equal to the previous one.
One can no longer select individual rows/cols that are part of a merge.
Thus one cannot delete rows/cols that are part of a merge but only all
rows connected to the merge.
Please note that it is important to use `undefined` as the second
argument in the alter() function instead of `null`. See
handsontable/handsontable#4458 for the bug tracking ticket at upstream
Now we recalculate the merged Cells from the meta array after every move
and update the settings with these new values, even if potentially
nothing changed.
While this may cause an (insignificant) performance hit, it is much
simpler code than any alternative of figuring out if merges were affected
and how they changed by a move.
It is an undocumented feature of the beforeColMove Callback, that
returning false prevents the move.
ToDo
----
* Maybe we want to show a message informing the user that moving
cols/rows into merges is not allowed