From 80f117bca227f14eda13e92acee778d6240bd0c3 Mon Sep 17 00:00:00 2001 From: AmauryD Date: Fri, 15 Mar 2024 09:53:16 +0100 Subject: [PATCH] repair tests, add offset-class --- ember-utils/package.json | 2 ++ ember-utils/src/modifiers/offset-class.ts | 20 +++++++++++++++++++ pnpm-lock.yaml | 4 +++- .../utils/ensure-model-properties-test.ts | 2 +- test-app/tests/unit/utils/to-test.ts | 2 +- 5 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 ember-utils/src/modifiers/offset-class.ts diff --git a/ember-utils/package.json b/ember-utils/package.json index 9423d7b..4da64af 100644 --- a/ember-utils/package.json +++ b/ember-utils/package.json @@ -56,6 +56,7 @@ "@glimmer/tracking": "~1.1.2", "date-fns": "^2.30.0", "ember-get-config": "^2.1.1", + "ember-modifier": "^4.1.0", "js-file-downloader": "^1.1.25" }, "devDependencies": { @@ -130,6 +131,7 @@ "./helpers/is-even.js": "./dist/_app_/helpers/is-even.js", "./helpers/translate-country.js": "./dist/_app_/helpers/translate-country.js", "./helpers/truncate.js": "./dist/_app_/helpers/truncate.js", + "./modifiers/offset-class.js": "./dist/_app_/modifiers/offset-class.js", "./services/current-changeset.js": "./dist/_app_/services/current-changeset.js", "./services/current-transition.js": "./dist/_app_/services/current-transition.js", "./services/download-file.js": "./dist/_app_/services/download-file.js", diff --git a/ember-utils/src/modifiers/offset-class.ts b/ember-utils/src/modifiers/offset-class.ts new file mode 100644 index 0000000..fbd34b2 --- /dev/null +++ b/ember-utils/src/modifiers/offset-class.ts @@ -0,0 +1,20 @@ +/* eslint-disable no-restricted-globals */ +import { modifier } from 'ember-modifier'; + +export default modifier( + (element: HTMLElement, [className, offset]: [string, number]) => { + function handleScroll() { + // eslint-disable-next-line no-restricted-globals + if (window.scrollY > offset) { + element.classList.add(className); + } else { + element.classList.remove(className); + } + } + window.addEventListener('scroll', handleScroll); + + return () => { + window.removeEventListener('scroll', handleScroll); + }; + } +); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5927df7..53d0fa0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,6 +41,9 @@ importers: ember-get-config: specifier: ^2.1.1 version: 2.1.1(@glint/template@1.2.1) + ember-modifier: + specifier: ^4.1.0 + version: 4.1.0(ember-source@5.3.0) ember-source: specifier: '>=5.0.0' version: 5.3.0(@babel/core@7.23.2)(@glimmer/component@1.1.2)(@glint/template@1.2.1)(rsvp@4.8.5)(webpack@5.88.2) @@ -8774,7 +8777,6 @@ packages: ember-source: 5.3.0(@babel/core@7.23.2)(@glimmer/component@1.1.2)(@glint/template@1.2.1)(rsvp@4.8.5)(webpack@5.88.2) transitivePeerDependencies: - supports-color - dev: true /ember-page-title@8.0.0: resolution: {integrity: sha512-4bu8CpoPObJZNUogwIjpntxS3jMDlZ1eoJsZUuktcCgOI7LfZocuYbu9LnLM215QjEOV0TxGDWwJck1l8cWKeg==} diff --git a/test-app/tests/unit/utils/ensure-model-properties-test.ts b/test-app/tests/unit/utils/ensure-model-properties-test.ts index 4b30751..f1a8d2b 100644 --- a/test-app/tests/unit/utils/ensure-model-properties-test.ts +++ b/test-app/tests/unit/utils/ensure-model-properties-test.ts @@ -1,5 +1,5 @@ import type Store from '@ember-data/store'; -import { ensureModelProperties } from '@triptyk/ember-utils/utils/ensure-model-properties'; +import ensureModelProperties from '@triptyk/ember-utils/utils/ensure-model-properties'; import Foo from 'test-app/models/foo'; import { setupTest } from 'ember-qunit'; import { module, test } from 'qunit'; diff --git a/test-app/tests/unit/utils/to-test.ts b/test-app/tests/unit/utils/to-test.ts index 3366b5c..08d368c 100644 --- a/test-app/tests/unit/utils/to-test.ts +++ b/test-app/tests/unit/utils/to-test.ts @@ -1,4 +1,4 @@ -import { to } from '@triptyk/ember-utils/utils/to'; +import to from '@triptyk/ember-utils/utils/to'; import { module, test } from 'qunit'; module('Unit | Utility | to', function () {