Skip to content

Commit a1fb966

Browse files
committed
add support for events on adding and removing search params, fixed #32
1 parent 72883f9 commit a1fb966

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
### 2.2.0-dev - unreleased
2+
* add support for events on adding and removing search params, fixed #32
3+
14
### 2.1.0 - 04 February 2016
25
* add support for suggested values for a search parameter with typeahead support, fixed #11
36
* fix optional parameters on AngularJS 1.4.9, fixed #31 and #34

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,22 @@ param can be a scope variable as well as a hard-coded string.
109109

110110
### Events
111111

112-
The directive emits events as search parameters enters the edit mode (`advanced-searchbox:enteredEditMode`)
113-
or leaves the edit mode (`advanced-searchbox:leavedEditMode`) or the search model was updated (`advanced-searchbox:modelUpdated`).
112+
The directive emits events as search parameters added (`advanced-searchbox:addedSearchParam`), removed (`advanced-searchbox:removedSearchParam` and `advanced-searchbox:removedAllSearchParam`), enters the edit mode (`advanced-searchbox:enteredEditMode`), leaves the edit mode (`advanced-searchbox:leavedEditMode`) or the search model was updated (`advanced-searchbox:modelUpdated`).
114113
To catch these events do the following:
115114

116115
```js
116+
$scope.$on('advanced-searchbox:addedSearchParam', function (event, searchParameter) {
117+
///
118+
});
119+
120+
$scope.$on('advanced-searchbox:removedSearchParam', function (event, searchParameter) {
121+
///
122+
});
123+
124+
$scope.$on('advanced-searchbox:removedAllSearchParam', function (event) {
125+
///
126+
});
127+
117128
$scope.$on('advanced-searchbox:enteredEditMode', function (event, searchParameter) {
118129
///
119130
});

src/angular-advanced-searchbox.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,12 @@ angular.module('angular-advanced-searchbox', [])
140140
}
141141
) - 1;
142142

143+
updateModel('add', searchParam.key, value);
144+
143145
if (enterEditModel === true)
144146
$timeout(function() { $scope.enterEditMode(undefined, newIndex); }, 100);
145147

146-
updateModel('add', searchParam.key, value);
148+
$scope.$emit('advanced-searchbox:addedSearchParam', searchParam);
147149
};
148150

149151
$scope.removeSearchParam = function (index) {
@@ -154,13 +156,17 @@ angular.module('angular-advanced-searchbox', [])
154156
$scope.searchParams.splice(index, 1);
155157

156158
updateModel('delete', searchParam.key);
159+
160+
$scope.$emit('advanced-searchbox:removedSearchParam', searchParam);
157161
};
158162

159163
$scope.removeAll = function() {
160164
$scope.searchParams.length = 0;
161165
$scope.searchQuery = '';
162166

163167
$scope.model = {};
168+
169+
$scope.$emit('advanced-searchbox:removedAllSearchParam');
164170
};
165171

166172
$scope.editPrevious = function(currentIndex) {

0 commit comments

Comments
 (0)