From d9f42b71442cffcac7d1107a8283a42e7508c487 Mon Sep 17 00:00:00 2001 From: Muhammad Zoabi Date: Wed, 29 Aug 2018 15:12:32 +0300 Subject: [PATCH] Update angularjs-dropdown-multiselect.controller.js added external event "onOpen" to invoke a callback every time dropdpwn is opened --- .../angularjs-dropdown-multiselect.controller.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/app/component/angularjs-dropdown-multiselect.controller.js b/src/app/component/angularjs-dropdown-multiselect.controller.js index e837cc99..5e5721dc 100644 --- a/src/app/component/angularjs-dropdown-multiselect.controller.js +++ b/src/app/component/angularjs-dropdown-multiselect.controller.js @@ -52,6 +52,7 @@ export default function dropdownMultiselectController( onMaxSelectionReached: angular.noop, onSelectionChanged: angular.noop, onClose: angular.noop, + onOpen : angular.noop }; const settings = { @@ -136,6 +137,7 @@ export default function dropdownMultiselectController( texts, input, close, + open, selectCurrentGroup, getGroupLabel, getButtonText, @@ -167,7 +169,9 @@ export default function dropdownMultiselectController( function toggleDropdown() { if ($scope.open) { $scope.close(); - } else { $scope.open = true; } + } else { + $scope.open(); + } if ($scope.settings.keyboardControls) { if ($scope.open) { if ($scope.settings.selectionLimit === 1 && $scope.settings.enableSearch) { @@ -193,6 +197,11 @@ export default function dropdownMultiselectController( $event.stopImmediatePropagation(); } + function open() { + $scope.open = true; + $scope.externalEvents.onOpen(); + } + function close() { $scope.open = false; $scope.input.searchFilter = $scope.settings.clearSearchOnClose ? '' : $scope.input.searchFilter;