insertColumns method
Insert columns
at columnIdx
position.
If there is a PlutoColumn.frozen.isFrozen
column in columns
,
If the width constraint of the frozen column is greater than the range,
the columns are unfreeze in order.
Implementation
@override
void insertColumns(int columnIdx, List<PlutoColumn> columns) {
if (columns.isEmpty) {
return;
}
if (columnIdx < 0 || refColumns.length < columnIdx) {
return;
}
_updateLimitedFrozenColumns(columns);
if (columnIdx >= refColumns.originalLength) {
refColumns.addAll(columns);
} else {
refColumns.insertAll(columnIdx, columns);
}
_fillCellsInRows(columns);
resetCurrentState(notify: false);
resetShowFrozenColumn();
if (!columnSizeConfig.restoreAutoSizeAfterInsertColumn) {
deactivateColumnsAutoSize();
}
updateVisibilityLayout();
notifyListeners(true, insertColumns.hashCode);
}