Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml

@eliasdawson-addepar eliasdawson-addepar Sep 16, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated to these changes, but StepSecurity failed the build because these were unpinned. @arshabh-agarwal not this is also blocking all Dependabot and other automated PRs. If we don't land this PR for some reason, we should pull this out to unblock.

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
uses: actions/checkout@v6

- name: Install mise and tools
uses: jdx/mise-action@v4
uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c
with:
install: true
cache: true
Expand Down Expand Up @@ -79,7 +79,7 @@ jobs:
uses: actions/checkout@v6

- name: Install mise and tools
uses: jdx/mise-action@v4
uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c
with:
install: true
cache: true
Expand Down
2 changes: 0 additions & 2 deletions addon-test-support/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import TablePage from './pages/ember-table';
import registerWaiter from 'ember-raf-scheduler/test-support/register-waiter';
import { setSetupRowCountForTest } from 'ember-table/components/ember-tbody/component';
import { setupTHeadForTest } from 'ember-table/components/ember-thead/component';
import { setSimpleCheckboxForTest } from 'ember-table/components/ember-td/component';

function setupForTest() {
registerWaiter();
setSetupRowCountForTest(true);
setupTHeadForTest(true);
setSimpleCheckboxForTest(true);
Expand Down
3 changes: 3 additions & 0 deletions addon/components/ember-tbody/component.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { scheduleOnce } from '@ember/runloop';
import { computed } from '@ember/object';
import { observer } from '../../-private/utils/observer';
import { bool, readOnly, or } from '@ember/object/computed';
import { VerticalCollection } from '@html-next/vertical-collection';

import CollapseTree, { SELECT_MODE } from '../../-private/collapse-tree';
import defaultTo from '../../-private/utils/default-to';
Expand Down Expand Up @@ -43,6 +44,8 @@ export default Component.extend({
layout,
tagName: 'tbody',

VerticalCollection,

/**
The API object passed in by the table

Expand Down
90 changes: 45 additions & 45 deletions addon/components/ember-tbody/template.hbs

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check this carefully. I'm not very familiar with this format, and the {{#vertical-collection...}}...{{else} construction in particular.

Original file line number Diff line number Diff line change
@@ -1,48 +1,48 @@
{{#vertical-collection
items=this.wrappedRows
containerSelector=this._containerSelector
<this.VerticalCollection
@items={{this.wrappedRows}}
@containerSelector={{this._containerSelector}}

estimateHeight=this.estimateRowHeight
key=this.key
staticHeight=this.staticHeight
bufferSize=this.bufferSize
renderAll=this.renderAll
@estimateHeight={{this.estimateRowHeight}}
@key={{this.key}}
@staticHeight={{this.staticHeight}}
@bufferSize={{this.bufferSize}}
@renderAll={{this.renderAll}}

firstReached=this.firstReached
lastReached=this.lastReached
firstVisibleChanged=this.firstVisibleChanged
lastVisibleChanged=this.lastVisibleChanged
idForFirstItem=this.idForFirstItem
@firstReached={{this.firstReached}}
@lastReached={{this.lastReached}}
@firstVisibleChanged={{this.firstVisibleChanged}}
@lastVisibleChanged={{this.lastVisibleChanged}}
@idForFirstItem={{this.idForFirstItem}}
>
<:default as |rowValue|>
<EmberTablePrivate::RowWrapper
@rowValue={{rowValue}}
@columns={{this.columns}}
@columnMetaCache={{this.columnMetaCache}}
@rowMetaCache={{this.rowMetaCache}}
@canSelect={{this.canSelect}}
@checkboxSelectionMode={{this.checkboxSelectionMode}}
@rowSelectionMode={{this.rowSelectionMode}}
@rowToggleMode={{this.rowToggleMode}}
@rowsCount={{this.wrappedRows.length}} as |api|
>
{{#if (has-block)}}
{{yield (hash
rowValue=api.rowValue
rowMeta=api.rowMeta
cells=api.cells
rowSelectionMode=api.rowSelectionMode
rowToggleMode=api.rowToggleMode
rowsCount=api.rowsCount

as |rowValue|
}}
<EmberTablePrivate::RowWrapper
@rowValue={{rowValue}}
@columns={{this.columns}}
@columnMetaCache={{this.columnMetaCache}}
@rowMetaCache={{this.rowMetaCache}}
@canSelect={{this.canSelect}}
@checkboxSelectionMode={{this.checkboxSelectionMode}}
@rowSelectionMode={{this.rowSelectionMode}}
@rowToggleMode={{this.rowToggleMode}}
@rowsCount={{this.wrappedRows.length}} as |api|
>
{{#if (has-block)}}
{{yield (hash
rowValue=api.rowValue
rowMeta=api.rowMeta
cells=api.cells
rowSelectionMode=api.rowSelectionMode
rowToggleMode=api.rowToggleMode
rowsCount=api.rowsCount

row=(component "ember-tr" api=api)
)}}
{{else}}
<EmberTr @api={{api}} />
{{/if}}
</EmberTablePrivate::RowWrapper>

{{else}}
{{yield to='inverse'}}
{{/vertical-collection}}
row=(component "ember-tr" api=api)
)}}
{{else}}
<EmberTr @api={{api}} />
{{/if}}
</EmberTablePrivate::RowWrapper>
</:default>
<:inverse>
{{yield to='inverse'}}
</:inverse>
</this.VerticalCollection>
1 change: 1 addition & 0 deletions ember-cli-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ module.exports = function(defaults) {
'@babel/plugin-proposal-nullish-coalescing-operator',
'@babel/plugin-proposal-numeric-separator',
'@babel/plugin-proposal-optional-catch-binding',
'@babel/plugin-transform-class-static-block',
],
},
'ember-faker': {
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
"@babel/plugin-proposal-object-rest-spread": "^7.12.13",
"@babel/plugin-proposal-optional-catch-binding": "^7.12.13",
"@babel/plugin-proposal-optional-chaining": "^7.12.13",
"@html-next/vertical-collection": "^4.0.0",
"@babel/plugin-transform-class-static-block": "^7.29.7",
"@html-next/vertical-collection": "^5.0.0",
"css-element-queries": "^0.4.0",
"ember-auto-import": "^2.4.2",
"ember-classy-page-object": "^0.8.0",
Expand All @@ -43,7 +44,7 @@
"ember-cli-node-assets": "^0.2.2",
"ember-cli-version-checker": "^5.1.2",
"ember-compatibility-helpers": "^1.2.6",
"ember-raf-scheduler": "^0.3.0",
"ember-raf-scheduler": "^0.5.0",
"ember-test-selectors": "^7.1.0",
"hammerjs": "^2.0.8"
},
Expand Down
2 changes: 0 additions & 2 deletions tests/test-helper.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Application from '../app';
import config from '../config/environment';
import registerRAFWaiter from 'ember-raf-scheduler/test-support/register-waiter';
import { setApplication } from '@ember/test-helpers';
import { setupEmberOnerrorValidation, start } from 'ember-qunit';
import { loadTests } from 'ember-qunit/test-loader';
Expand All @@ -12,7 +11,6 @@ import {
} from './helpers/warn-handlers';
import { setupForTest as setupEmberTableForTest } from 'ember-table/test-support';

registerRAFWaiter();
setApplication(Application.create(config.APP));

setup(QUnit.assert);
Expand Down
Loading
Loading