diff --git a/.changelog/22938.txt b/.changelog/22938.txt
new file mode 100644
index 000000000000..e2b1f9ca7c6c
--- /dev/null
+++ b/.changelog/22938.txt
@@ -0,0 +1,3 @@
+```release-note:improvement
+ui: removes send action instances as part of https://deprecations.emberjs.com/id/ember-component-send-action/
+```
\ No newline at end of file
diff --git a/ui/packages/consul-lock-sessions/app/components/consul/lock-session/form/index.hbs b/ui/packages/consul-lock-sessions/app/components/consul/lock-session/form/index.hbs
index d84292c72fba..18b4802cd5a8 100644
--- a/ui/packages/consul-lock-sessions/app/components/consul/lock-session/form/index.hbs
+++ b/ui/packages/consul-lock-sessions/app/components/consul/lock-session/form/index.hbs
@@ -86,7 +86,7 @@
@text='Invalidate Session'
@color='critical'
data-test-delete
- {{on 'click' (fn confirm (fn writer.delete @item))}}
+ {{on 'click' (fn confirm )}}
/>
@@ -98,7 +98,7 @@
@text='Confirm Invalidation'
@color='critical'
data-test-delete
- {{on 'click' (fn execute)}}
+ {{on 'click' (queue execute (fn writer.delete @item))}}
/>
@text='Invalidate'
@color='critical'
data-test-delete
- {{on 'click' (fn confirm (fn @ondelete item))}}
+ {{on 'click' confirm}}
/>
@@ -102,7 +102,7 @@ as |item index|>
@text='Confirm Invalidate'
@color='critical'
data-test-delete
- {{on 'click' (fn execute)}}
+ {{on 'click' (queue execute (fn @ondelete item))}}
/>
diff --git a/ui/packages/consul-partitions/app/components/consul/partition/form/index.hbs b/ui/packages/consul-partitions/app/components/consul/partition/form/index.hbs
index 03119b64106d..3a8c7620d6ab 100644
--- a/ui/packages/consul-partitions/app/components/consul/partition/form/index.hbs
+++ b/ui/packages/consul-partitions/app/components/consul/partition/form/index.hbs
@@ -118,13 +118,13 @@ as |State Guard ChartAction dispatch state|>
@text='Delete'
data-test-delete
@color='critical'
- {{on 'click' (fn confirm (fn writer.delete item))}}
+ {{on 'click' confirm}}
/>
diff --git a/ui/packages/consul-ui/app/components/child-selector/index.hbs b/ui/packages/consul-ui/app/components/child-selector/index.hbs
index 81c771b90174..0801902b71bb 100644
--- a/ui/packages/consul-ui/app/components/child-selector/index.hbs
+++ b/ui/packages/consul-ui/app/components/child-selector/index.hbs
@@ -50,7 +50,7 @@
{{/if}}
{{#if (gt items.length 0)}}
- {{yield}}
+ {{yield}}
{{else}}
{{/if}}
diff --git a/ui/packages/consul-ui/app/components/confirmation-dialog/index.js b/ui/packages/consul-ui/app/components/confirmation-dialog/index.js
index e10782f579d4..bcfdcb25d569 100644
--- a/ui/packages/consul-ui/app/components/confirmation-dialog/index.js
+++ b/ui/packages/consul-ui/app/components/confirmation-dialog/index.js
@@ -3,30 +3,30 @@
* SPDX-License-Identifier: BUSL-1.1
*/
-/*eslint ember/closure-actions: "warn"*/
import Component from '@ember/component';
+import { action } from '@ember/object';
+import { tracked } from '@glimmer/tracking';
import Slotted from 'block-slots';
-import { set } from '@ember/object';
-export default Component.extend(Slotted, {
- tagName: '',
- message: 'Are you sure?',
- confirming: false,
- permanent: false,
- actions: {
- cancel: function () {
- set(this, 'confirming', false);
- },
- execute: function () {
- set(this, 'confirming', false);
- this.sendAction(...['actionName', ...this['arguments']]);
- },
- confirm: function () {
- const [action, ...args] = arguments;
- set(this, 'actionName', action);
- set(this, 'arguments', args);
- set(this, 'confirming', true);
- },
- },
-});
+export default class ConfirmationDialogComponent extends Component.extend(Slotted) {
+ tagName = '';
+ message = 'Are you sure?';
+ @tracked confirming = false;
+ permanent = false;
+
+ @action
+ cancel() {
+ this.confirming = false;
+ }
+
+ @action
+ execute() {
+ this.confirming = false;
+ }
+
+ @action
+ confirm() {
+ this.confirming = true;
+ }
+}
diff --git a/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs b/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs
index cdc983c37b16..d2b0673369d8 100644
--- a/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs
+++ b/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs
@@ -178,14 +178,14 @@ as |item readonly|}}
@text='Delete'
@color='critical'
disabled={{api.disabled}}
- {{on 'click' (fn confirm api.delete)}}
+ {{on 'click' (fn confirm)}}
data-test-delete
/>
diff --git a/ui/packages/consul-ui/app/components/consul/intention/list/table/index.hbs b/ui/packages/consul-ui/app/components/consul/intention/list/table/index.hbs
index 78e87a2eedaa..8d55b4446dcb 100644
--- a/ui/packages/consul-ui/app/components/consul/intention/list/table/index.hbs
+++ b/ui/packages/consul-ui/app/components/consul/intention/list/table/index.hbs
@@ -95,7 +95,7 @@
More
-
+
{{#if (can 'write intention' item=item)}}
diff --git a/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs b/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs
index 1d6672c1968b..b88243319bbd 100644
--- a/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs
+++ b/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs
@@ -127,13 +127,13 @@
@color='critical'
data-test-delete
disabled={{api.disabled}}
- {{on 'click' (action confirm api.delete)}}
+ {{on 'click' (action confirm)}}
/>
diff --git a/ui/packages/consul-ui/app/components/consul/kv/list/index.hbs b/ui/packages/consul-ui/app/components/consul/kv/list/index.hbs
index 26362b9254a3..ab50e4145fed 100644
--- a/ui/packages/consul-ui/app/components/consul/kv/list/index.hbs
+++ b/ui/packages/consul-ui/app/components/consul/kv/list/index.hbs
@@ -25,7 +25,7 @@
More
-
+
{{#if (can 'write kv' item=item)}}
@@ -97,7 +97,7 @@
@text='Yes, Delete'
data-test-delete
@color='critical'
- {{on 'click' execute}}
+ {{on 'click' (queue execute (fn @onDelete @item))}}
/>
{{else}}
-
+
{{/if}}
diff --git a/ui/packages/consul-ui/app/components/consul/role/form/index.hbs b/ui/packages/consul-ui/app/components/consul/role/form/index.hbs
index 0ba9f9ce0534..3ca3a22e7ff3 100644
--- a/ui/packages/consul-ui/app/components/consul/role/form/index.hbs
+++ b/ui/packages/consul-ui/app/components/consul/role/form/index.hbs
@@ -64,7 +64,7 @@
@@ -95,7 +95,7 @@
@text='Yes, Delete'
@color='critical'
data-test-delete
- {{on 'click' execute}}
+ {{on 'click' (queue execute (fn @onDelete @item))}}
/>
{{else}}
-
+
{{/if}}
diff --git a/ui/packages/consul-ui/app/components/consul/token/form/index.hbs b/ui/packages/consul-ui/app/components/consul/token/form/index.hbs
index 06ef1b4f7082..f816a0862620 100644
--- a/ui/packages/consul-ui/app/components/consul/token/form/index.hbs
+++ b/ui/packages/consul-ui/app/components/consul/token/form/index.hbs
@@ -6,8 +6,8 @@