Skip to content

Commit

Permalink
fix(core): add missing option to control row highlight duration after…
Browse files Browse the repository at this point in the history
… CRUD (#1278)
  • Loading branch information
ghiscoding committed Dec 21, 2023
1 parent 1cfc265 commit 8240c8c
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
4 changes: 3 additions & 1 deletion packages/common/src/core/slickGrid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ export class SlickGrid<TData = any, C extends Column<TData> = Column<TData>, O e
editorFactory: null,
cellFlashingCssClass: 'flashing',
rowHighlightCssClass: 'highlight-animate',
rowHighlightDuration: 400,
selectedCellCssClass: 'selected',
multiSelect: true,
enableTextSelectionOnCells: false,
Expand Down Expand Up @@ -4754,8 +4755,9 @@ export class SlickGrid<TData = any, C extends Column<TData> = Column<TData>, O e
* @param {Number} row - grid row number
* @param {Number} [duration] - duration (ms), defaults to 500ms
*/
highlightRow(row: number, duration = 500) {
highlightRow(row: number, duration?: number) {
const rowCache = this.rowsCache[row];
duration ||= this._options.rowHighlightDuration;

if (Array.isArray(rowCache?.rowNode) && this._options.rowHighlightCssClass) {
rowCache.rowNode.forEach(node => node.classList.add(this._options.rowHighlightCssClass || ''));
Expand Down
3 changes: 3 additions & 0 deletions packages/common/src/interfaces/gridOption.interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,9 @@ export interface GridOption<C extends Column = Column> {
*/
rowHighlightCssClass?: string;

/** Defaults to 400, duration to show the row highlight (e.g. after insert/edit/...) */
rowHighlightDuration?: number;

/** Row Move Manager Plugin options & events */
rowMoveManager?: RowMoveManager;

Expand Down
5 changes: 3 additions & 2 deletions packages/common/src/services/grid.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,16 @@ export class GridService {
/**
* Highlight then fade a row for certain duration (ms).
* @param {Number} rowNumber - grid row number
* @param {Number} duration - duration in ms
* @param {Number} [duration] - duration in ms
*/
highlightRow(rowNumber: number | number[], duration = 750) {
highlightRow(rowNumber: number | number[], duration?: number) {
// create a SelectionModel if there's not one yet
if (!this._grid.getSelectionModel()) {
this._rowSelectionPlugin = new SlickRowSelectionModel(this._gridOptions.rowSelectionOptions);
this._grid.setSelectionModel(this._rowSelectionPlugin);
}

duration ||= this._gridOptions.rowHighlightDuration;
if (Array.isArray(rowNumber)) {
rowNumber.forEach(row => this._grid.highlightRow(row));
} else {
Expand Down

0 comments on commit 8240c8c

Please sign in to comment.