Clone columns in column-moved event to prevent side-effects through mutability.

Fix use of clone function. Seems like old code wasn't updated when the
_clone mixin was replaced by helpers/clone.
This commit is contained in:
2025-08-19 09:46:13 +02:00
parent fa2a6a2915
commit 0b3bd31d75
2 changed files with 6 additions and 5 deletions

View File

@@ -10,6 +10,7 @@ import '@tp/tp-icon/tp-icon.js';
import '@tp/tp-checkbox/tp-checkbox.js';
import './tp-table-item.js';
import { DomQuery } from '@tp/helpers/dom-query.js';
import { clone } from '@tp/helpers/clone.js';
import { closest } from '@tp/helpers/closest.js';
import { LitElement, html, css, svg } from 'lit';
import ColumnResizer from './column-resizer.js';
@@ -292,18 +293,18 @@ export class TpTable extends DomQuery(LitElement) {
set filter(val) {
this._advFilterActive = false;
this._filter = this._clone(val);
this._filter = clone(val);
this.reloadPagedList();
}
set statusFilter(val) {
this._statusFilter = this._clone(val);
this._statusFilter = clone(val);
this.reloadPagedList();
}
set advancedFilter(val) {
this._advFilterActive = val ? true : false;
this._advFilters = this._clone(val);
this._advFilters = clone(val);
this.reloadPagedList();
}
@@ -473,7 +474,7 @@ export class TpTable extends DomQuery(LitElement) {
}
this.columns.splice(moveTo, 0, this.columns.splice(targetIdx, 1)[0])
this.columns = [ ...this.columns ];
this.dispatchEvent(new CustomEvent('column-moved', { detail: { from: targetIdx, to: moveTo, columns: this.columns }, bubbles: true, composed: true }));
this.dispatchEvent(new CustomEvent('column-moved', { detail: { from: targetIdx, to: moveTo, columns: clone(this.columns) }, bubbles: true, composed: true }));
}
}