From c46598fc670ca0d0616673e6022b753cc1685f39 Mon Sep 17 00:00:00 2001 From: "Maximilien B." Date: Wed, 12 Aug 2026 14:41:48 +0200 Subject: [PATCH 1/2] Updated - dynamically watch for changes on the numeric column --- .../hyper-table-v2/cell-renderers/numeric.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/addon/components/hyper-table-v2/cell-renderers/numeric.ts b/addon/components/hyper-table-v2/cell-renderers/numeric.ts index 29d7d840..25164868 100644 --- a/addon/components/hyper-table-v2/cell-renderers/numeric.ts +++ b/addon/components/hyper-table-v2/cell-renderers/numeric.ts @@ -1,3 +1,4 @@ +import { computed, defineProperty } from '@ember/object'; import Component from '@glimmer/component'; import TableHandler from '@upfluence/hypertable/core/handler'; @@ -11,7 +12,15 @@ interface HyperTableV2RenderersNumericArgs { } export default class HyperTableV2CellRenderersNumeric extends Component { - get value() { - return this.args.row[this.args.column.definition.key]; + constructor(owner: unknown, args: HyperTableV2RenderersNumericArgs) { + super(owner, args); + + defineProperty( + this, + 'value', + computed(`args.row.${args.column.definition.key}`, function () { + return this.args.row[this.args.column.definition.key]; + }) + ); } } From 626f44525da333ed9cf9aaad67303e919ce8f9ed Mon Sep 17 00:00:00 2001 From: Maximilien B Date: Wed, 12 Aug 2026 14:58:19 +0200 Subject: [PATCH 2/2] Use ember get instead of defineProperty for Text and Numeric cells --- .../hyper-table-v2/cell-renderers/numeric.ts | 14 +++----------- .../hyper-table-v2/cell-renderers/text.ts | 14 +++----------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/addon/components/hyper-table-v2/cell-renderers/numeric.ts b/addon/components/hyper-table-v2/cell-renderers/numeric.ts index 25164868..8bfdbfbc 100644 --- a/addon/components/hyper-table-v2/cell-renderers/numeric.ts +++ b/addon/components/hyper-table-v2/cell-renderers/numeric.ts @@ -1,4 +1,4 @@ -import { computed, defineProperty } from '@ember/object'; +import { get } from '@ember/object'; import Component from '@glimmer/component'; import TableHandler from '@upfluence/hypertable/core/handler'; @@ -12,15 +12,7 @@ interface HyperTableV2RenderersNumericArgs { } export default class HyperTableV2CellRenderersNumeric extends Component { - constructor(owner: unknown, args: HyperTableV2RenderersNumericArgs) { - super(owner, args); - - defineProperty( - this, - 'value', - computed(`args.row.${args.column.definition.key}`, function () { - return this.args.row[this.args.column.definition.key]; - }) - ); + get value() { + return get(this.args.row, this.args.column.definition.key); } } diff --git a/addon/components/hyper-table-v2/cell-renderers/text.ts b/addon/components/hyper-table-v2/cell-renderers/text.ts index 2e575b10..73349b5f 100644 --- a/addon/components/hyper-table-v2/cell-renderers/text.ts +++ b/addon/components/hyper-table-v2/cell-renderers/text.ts @@ -1,4 +1,4 @@ -import { computed, defineProperty } from '@ember/object'; +import { get } from '@ember/object'; import Component from '@glimmer/component'; import TableHandler from '@upfluence/hypertable/core/handler'; @@ -12,15 +12,7 @@ interface HyperTableV2CellRenderersTextArgs { } export default class HyperTableV2CellRenderersText extends Component { - constructor(owner: unknown, args: HyperTableV2CellRenderersTextArgs) { - super(owner, args); - - defineProperty( - this, - 'value', - computed(`args.row.${args.column.definition.key}`, function () { - return this.args.row[this.args.column.definition.key]; - }) - ); + get value() { + return get(this.args.row, this.args.column.definition.key); } }