Ember Table Versions Save

v3.2.0

2 years ago

What's Changed

Full Changelog: https://github.com/Addepar/ember-table/compare/v3.1.0...v3.2.0

v3.1.0

2 years ago

What's Changed

Full Changelog: https://github.com/Addepar/ember-table/compare/v3.0.2...v3.1.0

v3.0.2

2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/Addepar/ember-table/compare/v3.0.1...v3.0.2

v3.0.1

2 years ago

What's Changed

Full Changelog: https://github.com/Addepar/ember-table/compare/v3.0.0...v3.0.1

v3.0.0

3 years ago

Drop support for Ember <2.8

We have removed support for older versions of Ember: anything below 2.8 is not supported anymore.

Originally, we remove support for Ember <2.4 because it is the last LTS (Long Term Support) release to receive bugfixes and security updates for an extended period (bugfixes for 36 weeks and security updates for 54 weeks.) But based on the survey results from the community, we ended up dropping support for Ember 2.4, as well.

We have also updated the testing targets which now only include Ember 2.8+ versions.

Drop IE11 support

Microsoft has been recommending to use Edge for some time now (since 2016.) There is no practical reason to keep supporting it. This also allowed us to remove some of the polyfill code bringing down the size of the library.

Drop support for Node <10

Node 10 is the current LTS (Long Term Support) release. There is no practical reason to support anything below that version.

Drop unused polyfills

Ember Table had a few polyfills as dependencies (to make sure that future functionality is available on the older versions of Ember.) Since Ember Table 3 supports Ember 2.8+ moving forward, we have removed the obsolete polyfills and trimmed the size of the library down.

You can browse the code:

Closure Actions

As we are dropping support for the older versions of Ember, we need to make sure we trim the usage of old/deprecated APIs, as well. This time around it is the mechanism by which the actions are propagated or sendAction API. sendAction API has been deprecated in favour of closure actions seems like forever ago (Ember 2.0+.)

ember-cli-sass@10 upgrade

While we were upgrading Ember-related dependencies, we decided to upgrade ember-cli-sass as well: ember-table: https://github.com/Addepar/ember-table/pull/829.

v10 switched to a different SASS compiler: https://github.com/sass/dart-sass.

v10 is the latest version available that was published about two years ago. ember-cli-sass has been in the maintenance mode for some time now. The natural step forward would be to evaluate other preprocessors (like PostCSS). Maybe, in the next release!

@html-next/[email protected] upgrade

vertical-collection is the library that powers the infinite scroll capability of Ember Table. This is how it can render thousands of rows without any issues.

We have removed the legacy compatibility code and dropped support for Ember <2.8. This release complements Ember Table 3 release nicely.

You can browse the code:

New Features

A few new features that we are proud of.

New “slack” width constraints

We have added two new width constraint modes: eq-container-slack and gte-container-slack. The new modes allocate the excess container whitespace into an additional column that vanishes when it is no longer needed.

We have also introduced a new parameter: initialFillMode. It is used exclusively in slack modes to perform the initial column layout.

Values and defaults are the same as fillMode. In eq-container-slack mode, fillMode and initialFillMode can be set to different values. The former is used for enforcing the width constraint, while the latter is used only for initial sizing. Please, see the documentation for examples.

Width constraint and modes mapping:

widthConstraint fillMode initialFillMode
eq-container Y N
eq-container-slack Y Y
gte-container Y N
gte-container-slack N Y
lte-container Y N
none N N
eq-container-slack

gte-container-slack

You can browse the code here:

Scroll Indicators

This feature indicates the scroll (both vertical and horizontal, in the scroll direction) by adding the shadow to the edge of the table.

Huge shoutout to @ahmacleod and @kpfefferle for landing these in Ember Table!

Horizontal scroll indicator

Vertical scroll indicator

You can browse the code here:

Custom Selection Matcher

This feature came directly from the use case discovered during the development of Marketplace. The consumers of Ember Table are now able to override how the selection is compared to a row value.

Code Example
export default class PeopleTable extends Component {
  selectionMatchFunction(a, b) {
    if (!a || !b) {
      return false;
    }
    // make a selection based on two properties instead of one
    return a.firstName === b.firstName && a.lastName === b.lastName;
  }
}
<!-- people-table component -->
<EmberTable as |t|>
  <t.head @columns={{this.columns}} />
  <t.body
    @checkboxSelectionMode="none"
    @onSelect={{this.onSelect}}
    @rows={{this.rows}}
    @rowSelectionMode="single"
    @selection={{this.selection}}
    @selectionMatchFunction={{this.selectionMatchFunction}}
  />
</EmberTable>

You can browse the code here:

v2.1.0

4 years ago

v2.1.0

31 July 2019

  • [CHORE] Use release-it for releases #751
  • [DOCS] Add Changelog.md #750
  • [TESTS] footer page object extends body page object #749
  • [BUG] Fix cases where manual selection includes unrendered or no… #748
  • [DOCS] Test clicking on snippets links on docs pages #746
  • [FEAT] enable fillMode to support an nth-column option #635
  • move addon to dependencies #742
  • [DOCS] Update readme to add link to online docs #739
  • [DOCS] Miscellaneous small fixes #738
  • Add setupAllRowMeta, mapSelectionToMeta to CollapseTree #747
  • enable fillMode to support an nth-column option 3861c1e
  • Add failing tests for #747 d2ea37e
  • Update readme and release-it config eeccff6

v2.0.0

4 years ago

ember-table has undergone many stability improvements since the last significant release, v2.0.0-beta.4. We now consider the project to be in a stable enough state to make an official 2.0 release!

Here is a summary of some of the changes in that time:

  • [BUG] Can add a child leaf to a collapse tree node (#582)
  • [bugfix] Ensures computeds are properly destroyed (#583)
  • Adds prev, next,first, last computed properties to rowmeta (#590)
  • [BUG] failing test for selection after rows update (#596)
  • [feat] Extracts the sort indicator (#597)
  • Added possibility to set custom container selector #619
  • [feat] Disable collapse support at a row level #629
  • Pass through 'idForFirstItem' to the vertical-collection, so scroll-position can be restored #616
  • Add optional containerWidthAdjustment (#637)
  • Yield to inverse when tbody rows are empty #608
  • [FEATURE] Add support for context menu on header cells #662
  • [FEATURE] Use sortEmptyLast on the header to have empty values at the end of a sort result #673
  • Convert internal classes from "native" export class ... to "classic" export Component.extend (#677, #680, #681, #682, etc)
  • [BUG] Fix memory leaks related to vertical-collection #687
  • [BUG] Ensure that table column widths are recomputed when columns change #690
  • [PERF] Set default bufferSize to 1 #693
  • [FEATURE] Text alignment can be defined per column #697
  • [BUG] Use objectAt to fetch rowValues (cause meta alloc) #727 — ensures modification of selection state of unrendered (occluded) rows works correctly
  • [BUG] Render tables with no columns correctly (#737)
  • Many DOCS improvements, see https://opensource.addepar.com/ember-table/docs

For a full list of the changes see the comparison of 2.0.0 with v2.0.0-beta.4.