From c0d41c0a6230f3eda67fc3abe5eb9855080059b7 Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Tue, 15 Jul 2025 09:11:32 -0700 Subject: [PATCH] Delete on-click-inside and on-click-outside rose modifiers (#2926) --- .../rose/addon/modifiers/on-click-inside.js | 28 ------------- .../rose/addon/modifiers/on-click-outside.js | 28 ------------- addons/rose/app/modifiers/on-click-inside.js | 6 --- addons/rose/app/modifiers/on-click-outside.js | 6 --- .../modifiers/on-click-inside-test.js | 42 ------------------- .../modifiers/on-click-outside-test.js | 42 ------------------- 6 files changed, 152 deletions(-) delete mode 100644 addons/rose/addon/modifiers/on-click-inside.js delete mode 100644 addons/rose/addon/modifiers/on-click-outside.js delete mode 100644 addons/rose/app/modifiers/on-click-inside.js delete mode 100644 addons/rose/app/modifiers/on-click-outside.js delete mode 100644 addons/rose/tests/integration/modifiers/on-click-inside-test.js delete mode 100644 addons/rose/tests/integration/modifiers/on-click-outside-test.js diff --git a/addons/rose/addon/modifiers/on-click-inside.js b/addons/rose/addon/modifiers/on-click-inside.js deleted file mode 100644 index 01da6548c..000000000 --- a/addons/rose/addon/modifiers/on-click-inside.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - -import { modifier } from 'ember-modifier'; - -/** - * Used to detect clicks occurring _inside_ the modified element. - * This is useful especially for dropdowns to toggle content visibility - * when the user clicks an item. - */ -export default modifier( - (element, [callback]) => { - function handleClick(event) { - if (element.contains(event.target)) { - callback(element, event); - } - } - - element.addEventListener('click', handleClick, false); - - return () => { - element.removeEventListener('click', handleClick, false); - }; - }, - { eager: false }, -); diff --git a/addons/rose/addon/modifiers/on-click-outside.js b/addons/rose/addon/modifiers/on-click-outside.js deleted file mode 100644 index 250511af9..000000000 --- a/addons/rose/addon/modifiers/on-click-outside.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - -import { modifier } from 'ember-modifier'; - -/** - * Used to detect clicks occurring _outside_ of the modified element. - * This is useful especially for dropdowns to toggle content visibility - * when the user clicks away. - */ -export default modifier( - (element, [callback]) => { - function handleClick(event) { - if (!element.contains(event.target)) { - callback(element, event); - } - } - - document.addEventListener('click', handleClick, false); - - return () => { - document.removeEventListener('click', handleClick, false); - }; - }, - { eager: false }, -); diff --git a/addons/rose/app/modifiers/on-click-inside.js b/addons/rose/app/modifiers/on-click-inside.js deleted file mode 100644 index 72200e0a5..000000000 --- a/addons/rose/app/modifiers/on-click-inside.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - -export { default } from 'rose/modifiers/on-click-inside'; diff --git a/addons/rose/app/modifiers/on-click-outside.js b/addons/rose/app/modifiers/on-click-outside.js deleted file mode 100644 index b0d963a45..000000000 --- a/addons/rose/app/modifiers/on-click-outside.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - -export { default } from 'rose/modifiers/on-click-outside'; diff --git a/addons/rose/tests/integration/modifiers/on-click-inside-test.js b/addons/rose/tests/integration/modifiers/on-click-inside-test.js deleted file mode 100644 index 882724ca8..000000000 --- a/addons/rose/tests/integration/modifiers/on-click-inside-test.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'ember-qunit'; -import { render, click } from '@ember/test-helpers'; -import { hbs } from 'ember-cli-htmlbars'; - -module('Integration | Modifier | on-click-inside', function (hooks) { - setupRenderingTest(hooks); - - test('it fires event when inside is clicked', async function (assert) { - assert.expect(2); - this.set('clickedInside', (element) => { - assert.ok(element); - assert.strictEqual(element.id, 'inside'); - }); - await render(hbs` -
-
-
-
- `); - await click('#item'); - }); - - test('it does not fire event when outside is clicked', async function (assert) { - assert.expect(0); - this.set('clickedInside', () => { - assert.ok(true); - }); - await render(hbs` -
-
-
-
- `); - await click('#outside'); - }); -}); diff --git a/addons/rose/tests/integration/modifiers/on-click-outside-test.js b/addons/rose/tests/integration/modifiers/on-click-outside-test.js deleted file mode 100644 index ebcb8c249..000000000 --- a/addons/rose/tests/integration/modifiers/on-click-outside-test.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright (c) HashiCorp, Inc. - * SPDX-License-Identifier: BUSL-1.1 - */ - -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'ember-qunit'; -import { render, click } from '@ember/test-helpers'; -import { hbs } from 'ember-cli-htmlbars'; - -module('Integration | Modifier | on-click-outside', function (hooks) { - setupRenderingTest(hooks); - - test('it fires event when an outside element is clicked', async function (assert) { - assert.expect(2); - this.set('clickedOutside', (element, event) => { - assert.ok(element); - assert.strictEqual(event.target.id, 'outside'); - }); - - await render(hbs`
-
`); - - await click('#outside'); - }); - - test('it does not fire event when element is clicked', async function (assert) { - assert.expect(1); - this.set('clickedOutside', () => { - assert.ok(true); - }); - - await render(hbs`
-
-
-
`); - - await click('#inside'); - await click('#item'); - await click('#outside'); - }); -});