diff --git a/packages/oui-dropdown/src/index.spec.js b/packages/oui-dropdown/src/index.spec.js
index f2fa14d1..0be80e1c 100644
--- a/packages/oui-dropdown/src/index.spec.js
+++ b/packages/oui-dropdown/src/index.spec.js
@@ -212,6 +212,32 @@ describe("ouiDropdown", () => {
expect(link.attr("target")).toBe("_blank");
expect(link.attr("rel")).toBe("noopener");
});
+
+ it("should call click callback", () => {
+ const onLinkClickSpy = jasmine.createSpy("onLinkClickSpy");
+ const onButtonClickSpy = jasmine.createSpy("onButtonClickSpy");
+ const element = TestUtils.compileTemplate(`
+
+
+
+
+
+
+
+
+ `, {
+ onLinkClick: onLinkClickSpy,
+ onButtonClick: onButtonClickSpy
+ });
+
+ $timeout.flush();
+ const items = angular.element(element[0].querySelectorAll("oui-dropdown-item")).children();
+ angular.element(items[0]).triggerHandler("click");
+ angular.element(items[1]).triggerHandler("click");
+
+ expect(onLinkClickSpy).toHaveBeenCalled();
+ expect(onButtonClickSpy).toHaveBeenCalled();
+ });
});
describe("Group", () => {
diff --git a/packages/oui-dropdown/src/item/dropdown-item.html b/packages/oui-dropdown/src/item/dropdown-item.html
index a7996605..4741b3df 100644
--- a/packages/oui-dropdown/src/item/dropdown-item.html
+++ b/packages/oui-dropdown/src/item/dropdown-item.html
@@ -12,7 +12,8 @@
ng-if="::!!$ctrl.href"
ng-href="{{::$ctrl.href}}"
ng-attr-target="{{::$ctrl.linkTarget}}"
- ng-attr-rel="{{::$ctrl.linkRel}}">
+ ng-attr-rel="{{::$ctrl.linkRel}}"
+ ng-click="$ctrl.onClick()">
{{::$ctrl.text}}
{{::$ctrl.text}}