From e63b65e035cdd355a8c82d105c3254754a06d260 Mon Sep 17 00:00:00 2001 From: ijlee2 Date: Mon, 2 Dec 2024 08:57:34 +0100 Subject: [PATCH 1/5] refactor: Added default tests for components --- ...-modal-dialog-positioned-container-test.js | 21 +++++++++++++++++ .../ember-modal-dialog/-basic-dialog-test.js | 21 +++++++++++++++++ .../-in-place-dialog-test.js | 21 +++++++++++++++++ .../ember-modal-dialog/-liquid-dialog-test.js | 21 +++++++++++++++++ .../-liquid-tether-dialog-test.js | 23 +++++++++++++++++++ .../ember-modal-dialog/-tether-dialog-test.js | 21 +++++++++++++++++ .../ember-modal-dialog/overlay-test.js | 19 +++++++++++++++ .../components/modal-dialog-test.js | 16 +++++++++++++ 8 files changed, 163 insertions(+) create mode 100644 tests/integration/components/ember-modal-dialog-positioned-container-test.js create mode 100644 tests/integration/components/ember-modal-dialog/-basic-dialog-test.js create mode 100644 tests/integration/components/ember-modal-dialog/-in-place-dialog-test.js create mode 100644 tests/integration/components/ember-modal-dialog/-liquid-dialog-test.js create mode 100644 tests/integration/components/ember-modal-dialog/-liquid-tether-dialog-test.js create mode 100644 tests/integration/components/ember-modal-dialog/-tether-dialog-test.js create mode 100644 tests/integration/components/ember-modal-dialog/overlay-test.js create mode 100644 tests/integration/components/modal-dialog-test.js diff --git a/tests/integration/components/ember-modal-dialog-positioned-container-test.js b/tests/integration/components/ember-modal-dialog-positioned-container-test.js new file mode 100644 index 00000000..8e27da68 --- /dev/null +++ b/tests/integration/components/ember-modal-dialog-positioned-container-test.js @@ -0,0 +1,21 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module( + 'Integration | Component | ember-modal-dialog-positioned-container', + function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + Hello world! + + `); + + assert.dom().hasText('Hello world!'); + }); + }, +); diff --git a/tests/integration/components/ember-modal-dialog/-basic-dialog-test.js b/tests/integration/components/ember-modal-dialog/-basic-dialog-test.js new file mode 100644 index 00000000..15f19c54 --- /dev/null +++ b/tests/integration/components/ember-modal-dialog/-basic-dialog-test.js @@ -0,0 +1,21 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module( + 'Integration | Component | ember-modal-dialog/-basic-dialog', + function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + Hello world! + + `); + + assert.dom().hasText('Hello world!'); + }); + }, +); diff --git a/tests/integration/components/ember-modal-dialog/-in-place-dialog-test.js b/tests/integration/components/ember-modal-dialog/-in-place-dialog-test.js new file mode 100644 index 00000000..bcf0a9ed --- /dev/null +++ b/tests/integration/components/ember-modal-dialog/-in-place-dialog-test.js @@ -0,0 +1,21 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module( + 'Integration | Component | ember-modal-dialog/-in-place-dialog', + function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + Hello world! + + `); + + assert.dom().hasText('Hello world!'); + }); + }, +); diff --git a/tests/integration/components/ember-modal-dialog/-liquid-dialog-test.js b/tests/integration/components/ember-modal-dialog/-liquid-dialog-test.js new file mode 100644 index 00000000..696b0617 --- /dev/null +++ b/tests/integration/components/ember-modal-dialog/-liquid-dialog-test.js @@ -0,0 +1,21 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module( + 'Integration | Component | ember-modal-dialog/-liquid-dialog', + function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + Hello world! + + `); + + assert.dom().hasText('Hello world!'); + }); + }, +); diff --git a/tests/integration/components/ember-modal-dialog/-liquid-tether-dialog-test.js b/tests/integration/components/ember-modal-dialog/-liquid-tether-dialog-test.js new file mode 100644 index 00000000..615b553b --- /dev/null +++ b/tests/integration/components/ember-modal-dialog/-liquid-tether-dialog-test.js @@ -0,0 +1,23 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module( + 'Integration | Component | ember-modal-dialog/-liquid-tether-dialog', + function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + Hello world! + + `); + + assert.dom().hasText('Hello world!'); + }); + }, +); diff --git a/tests/integration/components/ember-modal-dialog/-tether-dialog-test.js b/tests/integration/components/ember-modal-dialog/-tether-dialog-test.js new file mode 100644 index 00000000..9518a480 --- /dev/null +++ b/tests/integration/components/ember-modal-dialog/-tether-dialog-test.js @@ -0,0 +1,21 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module( + 'Integration | Component | ember-modal-dialog/-tether-dialog', + function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + Hello world! + + `); + + assert.dom().hasText('Hello world!'); + }); + }, +); diff --git a/tests/integration/components/ember-modal-dialog/overlay-test.js b/tests/integration/components/ember-modal-dialog/overlay-test.js new file mode 100644 index 00000000..20023ce3 --- /dev/null +++ b/tests/integration/components/ember-modal-dialog/overlay-test.js @@ -0,0 +1,19 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module( + 'Integration | Component | ember-modal-dialog/overlay', + function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + `); + + assert.ok(true); + }); + }, +); diff --git a/tests/integration/components/modal-dialog-test.js b/tests/integration/components/modal-dialog-test.js new file mode 100644 index 00000000..241cb01c --- /dev/null +++ b/tests/integration/components/modal-dialog-test.js @@ -0,0 +1,16 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module('Integration | Component | modal-dialog', function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + `); + + assert.ok(true); + }); +}); From b9700ca083dca8b02aa60e72ec75a19eea1f0753 Mon Sep 17 00:00:00 2001 From: ijlee2 Date: Mon, 2 Dec 2024 08:57:40 +0100 Subject: [PATCH 2/5] chore: Moved components in classic layout to flat --- addon/{templates => }/components/basic-dialog.hbs | 0 addon/components/basic-dialog.js | 5 ++--- addon/{templates => }/components/in-place-dialog.hbs | 0 addon/components/in-place-dialog.js | 4 +--- addon/{templates => }/components/liquid-dialog.hbs | 0 addon/components/liquid-dialog.js | 3 --- addon/{templates => }/components/liquid-tether-dialog.hbs | 0 addon/components/liquid-tether-dialog.js | 4 +--- addon/components/positioned-container.js | 1 + addon/{templates => }/components/tether-dialog.hbs | 0 addon/components/tether-dialog.js | 4 +--- 11 files changed, 6 insertions(+), 15 deletions(-) rename addon/{templates => }/components/basic-dialog.hbs (100%) rename addon/{templates => }/components/in-place-dialog.hbs (100%) rename addon/{templates => }/components/liquid-dialog.hbs (100%) rename addon/{templates => }/components/liquid-tether-dialog.hbs (100%) rename addon/{templates => }/components/tether-dialog.hbs (100%) diff --git a/addon/templates/components/basic-dialog.hbs b/addon/components/basic-dialog.hbs similarity index 100% rename from addon/templates/components/basic-dialog.hbs rename to addon/components/basic-dialog.hbs diff --git a/addon/components/basic-dialog.js b/addon/components/basic-dialog.js index d02c4232..c2ffb6a4 100644 --- a/addon/components/basic-dialog.js +++ b/addon/components/basic-dialog.js @@ -1,14 +1,13 @@ -import { tagName, layout as templateLayout } from '@ember-decorators/component'; +import { tagName } from '@ember-decorators/component'; import { computed, set } from '@ember/object'; import { inject as service } from '@ember/service'; import Component from '@ember/component'; import { isEmpty } from '@ember/utils'; -import layout from '../templates/components/basic-dialog'; import { dasherize } from '@ember/string'; + import { isIOS, clickHandlerDelay } from '../utils/config-utils'; @tagName('') -@templateLayout(layout) export default class BasicDialog extends Component { containerClassNames = null; overlayClassNames = null; diff --git a/addon/templates/components/in-place-dialog.hbs b/addon/components/in-place-dialog.hbs similarity index 100% rename from addon/templates/components/in-place-dialog.hbs rename to addon/components/in-place-dialog.hbs diff --git a/addon/components/in-place-dialog.js b/addon/components/in-place-dialog.js index e62f0f1c..60739ba0 100644 --- a/addon/components/in-place-dialog.js +++ b/addon/components/in-place-dialog.js @@ -1,9 +1,7 @@ -import { tagName, layout as templateLayout } from '@ember-decorators/component'; +import { tagName } from '@ember-decorators/component'; import Component from '@ember/component'; -import layout from '../templates/components/in-place-dialog'; @tagName('') -@templateLayout(layout) export default class InPlaceDialog extends Component { get containerClassNamesString() { const addonClassNamesString = [ diff --git a/addon/templates/components/liquid-dialog.hbs b/addon/components/liquid-dialog.hbs similarity index 100% rename from addon/templates/components/liquid-dialog.hbs rename to addon/components/liquid-dialog.hbs diff --git a/addon/components/liquid-dialog.js b/addon/components/liquid-dialog.js index b25b86e9..2006fc05 100644 --- a/addon/components/liquid-dialog.js +++ b/addon/components/liquid-dialog.js @@ -1,8 +1,5 @@ -import { layout as templateLayout } from '@ember-decorators/component'; import BasicDialog from './basic-dialog'; -import layout from '../templates/components/liquid-dialog'; -@templateLayout(layout) export default class LiquidDialog extends BasicDialog { hasOverlay = true; variantWrapperClass = 'emd-animatable'; diff --git a/addon/templates/components/liquid-tether-dialog.hbs b/addon/components/liquid-tether-dialog.hbs similarity index 100% rename from addon/templates/components/liquid-tether-dialog.hbs rename to addon/components/liquid-tether-dialog.hbs diff --git a/addon/components/liquid-tether-dialog.js b/addon/components/liquid-tether-dialog.js index 328ac7fb..4559f5e0 100644 --- a/addon/components/liquid-tether-dialog.js +++ b/addon/components/liquid-tether-dialog.js @@ -1,11 +1,9 @@ /* eslint-disable ember/no-computed-properties-in-native-classes */ -import { layout as templateLayout } from '@ember-decorators/component'; import { computed, set } from '@ember/object'; import { dasherize } from '@ember/string'; + import BasicDialog from './basic-dialog'; -import layout from '../templates/components/liquid-tether-dialog'; -@templateLayout(layout) export default class LiquidTetherDialog extends BasicDialog { @computed('targetAttachment') get targetAttachmentClass() { diff --git a/addon/components/positioned-container.js b/addon/components/positioned-container.js index e4a048dd..78a79178 100644 --- a/addon/components/positioned-container.js +++ b/addon/components/positioned-container.js @@ -4,6 +4,7 @@ import Component from '@ember/component'; import { capitalize } from '@ember/string'; import { observer, computed } from '@ember/object'; import { on } from '@ember/object/evented'; + const SUPPORTED_TARGET_ATTACHMENTS = [ 'top', 'right', diff --git a/addon/templates/components/tether-dialog.hbs b/addon/components/tether-dialog.hbs similarity index 100% rename from addon/templates/components/tether-dialog.hbs rename to addon/components/tether-dialog.hbs diff --git a/addon/components/tether-dialog.js b/addon/components/tether-dialog.js index 6678165f..ac8677be 100644 --- a/addon/components/tether-dialog.js +++ b/addon/components/tether-dialog.js @@ -1,10 +1,8 @@ -import { layout as templateLayout } from '@ember-decorators/component'; import { computed, set } from '@ember/object'; import { dasherize } from '@ember/string'; + import BasicDialog from './basic-dialog'; -import layout from '../templates/components/tether-dialog'; -@templateLayout(layout) export default class TetherDialog extends BasicDialog { init() { super.init(...arguments); From 078d19d0def7a39a2a4fd81edd008e2fbdde7a20 Mon Sep 17 00:00:00 2001 From: ijlee2 Date: Mon, 2 Dec 2024 08:57:44 +0100 Subject: [PATCH 3/5] chore: Moved components in nested layout to flat --- addon/components/{modal-dialog/index.hbs => modal-dialog.hbs} | 0 addon/components/{modal-dialog/index.js => modal-dialog.js} | 0 addon/components/{overlay/index.hbs => overlay.hbs} | 0 addon/components/{overlay/index.js => overlay.js} | 3 ++- 4 files changed, 2 insertions(+), 1 deletion(-) rename addon/components/{modal-dialog/index.hbs => modal-dialog.hbs} (100%) rename addon/components/{modal-dialog/index.js => modal-dialog.js} (100%) rename addon/components/{overlay/index.hbs => overlay.hbs} (100%) rename addon/components/{overlay/index.js => overlay.js} (86%) diff --git a/addon/components/modal-dialog/index.hbs b/addon/components/modal-dialog.hbs similarity index 100% rename from addon/components/modal-dialog/index.hbs rename to addon/components/modal-dialog.hbs diff --git a/addon/components/modal-dialog/index.js b/addon/components/modal-dialog.js similarity index 100% rename from addon/components/modal-dialog/index.js rename to addon/components/modal-dialog.js diff --git a/addon/components/overlay/index.hbs b/addon/components/overlay.hbs similarity index 100% rename from addon/components/overlay/index.hbs rename to addon/components/overlay.hbs diff --git a/addon/components/overlay/index.js b/addon/components/overlay.js similarity index 86% rename from addon/components/overlay/index.js rename to addon/components/overlay.js index 3ada3c1e..1dd9d7b3 100644 --- a/addon/components/overlay/index.js +++ b/addon/components/overlay.js @@ -1,7 +1,8 @@ import Component from '@glimmer/component'; -import { isIOS } from '../../utils/config-utils'; import { htmlSafe } from '@ember/template'; +import { isIOS } from '../utils/config-utils'; + export default class OverlayComponent extends Component { get cssClasses() { return htmlSafe(`emd-debug ${isIOS ? 'pointer-cursor' : ''}`); From fa170337ab53bc067f2becff7aca05bc367350a4 Mon Sep 17 00:00:00 2001 From: ijlee2 Date: Mon, 2 Dec 2024 08:57:58 +0100 Subject: [PATCH 4/5] refactor: Removed ember-decorators from dependencies --- addon/components/basic-dialog.js | 4 ++-- addon/components/in-place-dialog.js | 4 ++-- package.json | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/addon/components/basic-dialog.js b/addon/components/basic-dialog.js index c2ffb6a4..6a4eadf5 100644 --- a/addon/components/basic-dialog.js +++ b/addon/components/basic-dialog.js @@ -1,4 +1,3 @@ -import { tagName } from '@ember-decorators/component'; import { computed, set } from '@ember/object'; import { inject as service } from '@ember/service'; import Component from '@ember/component'; @@ -7,8 +6,9 @@ import { dasherize } from '@ember/string'; import { isIOS, clickHandlerDelay } from '../utils/config-utils'; -@tagName('') export default class BasicDialog extends Component { + tagName = ''; + containerClassNames = null; overlayClassNames = null; wrapperClassNames = null; diff --git a/addon/components/in-place-dialog.js b/addon/components/in-place-dialog.js index 60739ba0..def95397 100644 --- a/addon/components/in-place-dialog.js +++ b/addon/components/in-place-dialog.js @@ -1,8 +1,8 @@ -import { tagName } from '@ember-decorators/component'; import Component from '@ember/component'; -@tagName('') export default class InPlaceDialog extends Component { + tagName = ''; + get containerClassNamesString() { const addonClassNamesString = [ 'ember-modal-dialog', diff --git a/package.json b/package.json index b33d9a5f..4ee781dc 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,6 @@ "ember-cli-babel": "^8.2.0", "ember-cli-htmlbars": "^6.3.0", "ember-cli-version-checker": "^5.1.2", - "ember-decorators": "^6.1.1", "ember-wormhole": "^0.6.0" }, "devDependencies": { From f1ba2cd1fcc39b360406d9bc4a921d3674fb9fa6 Mon Sep 17 00:00:00 2001 From: ijlee2 Date: Mon, 2 Dec 2024 09:00:57 +0100 Subject: [PATCH 5/5] chore: Added lockfile --- pnpm-lock.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 04504f24..f86475f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,9 +34,6 @@ importers: ember-cli-version-checker: specifier: ^5.1.2 version: 5.1.2 - ember-decorators: - specifier: ^6.1.1 - version: 6.1.1 ember-wormhole: specifier: ^0.6.0 version: 0.6.0