From b1e34d466b4b2319f596e941159afbbae9b2c615 Mon Sep 17 00:00:00 2001 From: Philippe Ndiaye Date: Thu, 25 Jul 2024 14:21:50 +0200 Subject: [PATCH] fix Run loop and computed dot access deprecation (#209) --- addon/components/hyper-table/facetting.js | 4 ++-- .../hyper-table/filters-renderers/numeric.js | 4 ++-- .../hyper-table/filters-renderers/text.js | 4 ++-- addon/components/hyper-table/index.js | 10 +++++----- addon/components/hyper-table/views.js | 4 ++-- addon/mixins/cell-renderer.js | 4 ++-- addon/mixins/editable.js | 15 ++++++++------- 7 files changed, 23 insertions(+), 22 deletions(-) diff --git a/addon/components/hyper-table/facetting.js b/addon/components/hyper-table/facetting.js index 92a6a8ab..5470b080 100644 --- a/addon/components/hyper-table/facetting.js +++ b/addon/components/hyper-table/facetting.js @@ -1,6 +1,6 @@ import Component from '@ember/component'; import { isEmpty } from '@ember/utils'; -import { run } from '@ember/runloop'; +import { later } from '@ember/runloop'; import { set } from '@ember/object'; export default Component.extend({ @@ -21,7 +21,7 @@ export default Component.extend({ this.onToggleAppliedFacet(facet); } - run.later(() => { + later(() => { this.column.applyFacets( this.filteringKey, this.facets.filter((f) => { diff --git a/addon/components/hyper-table/filters-renderers/numeric.js b/addon/components/hyper-table/filters-renderers/numeric.js index 4452ed51..47afe82b 100644 --- a/addon/components/hyper-table/filters-renderers/numeric.js +++ b/addon/components/hyper-table/filters-renderers/numeric.js @@ -1,6 +1,6 @@ import Component from '@ember/component'; import { computed, observer } from '@ember/object'; -import { run } from '@ember/runloop'; +import { debounce } from '@ember/runloop'; import FiltersRendererMixin from '@upfluence/hypertable/mixins/filters-renderer'; @@ -32,7 +32,7 @@ export default Component.extend(FiltersRendererMixin, { _: observer('lowerBoundFilter', 'upperBoundFilter', function () { if (this.lowerBoundFilter || this.upperBoundFilter) { - run.debounce(this, this._addRangeFilter, 1000); + debounce(this, this._addRangeFilter, 1000); } }), diff --git a/addon/components/hyper-table/filters-renderers/text.js b/addon/components/hyper-table/filters-renderers/text.js index 9848322f..a8f42dc7 100644 --- a/addon/components/hyper-table/filters-renderers/text.js +++ b/addon/components/hyper-table/filters-renderers/text.js @@ -1,6 +1,6 @@ import Component from '@ember/component'; import { observer, computed } from '@ember/object'; -import { run } from '@ember/runloop'; +import { debounce } from '@ember/runloop'; import { isEmpty } from '@ember/utils'; import FiltersRendererMixin from '@upfluence/hypertable/mixins/filters-renderer'; @@ -41,7 +41,7 @@ export default Component.extend(FiltersRendererMixin, { }, _searchQueryObserver: observer('_searchQuery', function () { - run.debounce(this, this._addSearchFilter, 1000); + debounce(this, this._addSearchFilter, 1000); }), init() { diff --git a/addon/components/hyper-table/index.js b/addon/components/hyper-table/index.js index f3888c7e..ef6232d4 100644 --- a/addon/components/hyper-table/index.js +++ b/addon/components/hyper-table/index.js @@ -1,8 +1,8 @@ import { A } from '@ember/array'; import Component from '@ember/component'; import { computed, observer } from '@ember/object'; -import { alias, filterBy } from '@ember/object/computed'; -import { run, once } from '@ember/runloop'; +import { alias, and, filterBy } from '@ember/object/computed'; +import { debounce, once, scheduleOnce } from '@ember/runloop'; import { compare, isEmpty, typeOf } from '@ember/utils'; import $ from 'jquery'; @@ -39,7 +39,7 @@ export default Component.extend({ }, set: function (k, v) { this._columns.firstObject.set('filters', isEmpty(v) ? [] : [{ key: 'value', value: v }]); - run.debounce(this, this._doSearch, 1000); + debounce(this, this._doSearch, 1000); return v; } }), @@ -106,7 +106,7 @@ export default Component.extend({ return this.groupByClusteringKey(fields); }), - _loadingMore: computed.and('manager.hooks.onBottomReached', 'loadingMore'), + _loadingMore: and('manager.hooks.onBottomReached', 'loadingMore'), _setAllRowSelected(value) { this.manager.set('_allRowsSelected', value); @@ -172,7 +172,7 @@ export default Component.extend({ } // eslint-disable-next-line ember/no-incorrect-calls-with-inline-anonymous-functions - run.scheduleOnce('afterRender', this, () => { + scheduleOnce('afterRender', this, () => { let table = document.querySelector('.hypertable'); $(table).scroll(() => { if (table.scrollLeft === table.scrollWidth - table.clientWidth) { diff --git a/addon/components/hyper-table/views.js b/addon/components/hyper-table/views.js index 1d607e1e..b2cbc3ad 100644 --- a/addon/components/hyper-table/views.js +++ b/addon/components/hyper-table/views.js @@ -1,7 +1,7 @@ import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { action } from '@ember/object'; -import { run } from '@ember/runloop'; +import { debounce } from '@ember/runloop'; import { isPresent } from '@ember/utils'; const SEARCH_DEBOUNCE = 500; @@ -25,7 +25,7 @@ export default class ViewsComponent extends Component { @action onSearchChange() { - run.debounce(this, this.filterViews, SEARCH_DEBOUNCE); + debounce(this, this.filterViews, SEARCH_DEBOUNCE); } @action diff --git a/addon/mixins/cell-renderer.js b/addon/mixins/cell-renderer.js index cd16457a..d11b0bea 100644 --- a/addon/mixins/cell-renderer.js +++ b/addon/mixins/cell-renderer.js @@ -1,6 +1,6 @@ import Mixin from '@ember/object/mixin'; import { computed } from '@ember/object'; -import { empty } from '@ember/object/computed'; +import { empty, oneWay } from '@ember/object/computed'; export default Mixin.create({ classNameBindings: ['emptyValue'], @@ -10,6 +10,6 @@ export default Mixin.create({ return this.item.get(this.column.key); }), - editableValue: computed.oneWay('value'), + editableValue: oneWay('value'), emptyValue: empty('value') }); diff --git a/addon/mixins/editable.js b/addon/mixins/editable.js index d482ea52..c13f3cdc 100644 --- a/addon/mixins/editable.js +++ b/addon/mixins/editable.js @@ -1,6 +1,7 @@ import Mixin from '@ember/object/mixin'; import EmberObject, { computed } from '@ember/object'; -import { run } from '@ember/runloop'; +import { equal } from '@ember/object/computed'; +import { scheduleOnce } from '@ember/runloop'; export default Mixin.create({ classNameBindings: ['editStatus.status', 'isUpsertable'], @@ -9,11 +10,11 @@ export default Mixin.create({ return this.manager.get('editStatus').findBy('id', this.element.id); }), - isSuccess: computed.equal('editStatus.status', 'success'), - isEditing: computed.equal('editStatus.status', 'editing'), - isSaving: computed.equal('editStatus.status', 'saving'), - isError: computed.equal('editStatus.status', 'error'), - isUpsertable: computed.equal('column.upsertable', true), + isSuccess: equal('editStatus.status', 'success'), + isEditing: equal('editStatus.status', 'editing'), + isSaving: equal('editStatus.status', 'saving'), + isError: equal('editStatus.status', 'error'), + isUpsertable: equal('column.upsertable', true), actions: { toggleEditing(value, autosave = false) { @@ -72,7 +73,7 @@ export default Mixin.create({ // automatically focuses the input // eslint-disable-next-line ember/no-incorrect-calls-with-inline-anonymous-functions - run.scheduleOnce('afterRender', this, () => { + scheduleOnce('afterRender', this, () => { this.$('.editing-input__field').focus(); }); },