Skip to content

Commit 8b83c84

Browse files
committed
add certain events you can subscribe to (enter / leave edit mode, model update), fixed parts of #2
1 parent 86d1998 commit 8b83c84

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
* add option to configure the suggested parameter label text
1111
* allow to specify the display limit of search parameter suggestions
1212
* allow to specify the search throttle time
13+
* add certain events you can subscribe to (enter / leave edit mode, model update)
1314

1415
### 1.1.1 - 03 February 2015
1516
* update README with latest changes to dist files in bower package

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,23 @@ param can be a scope variable as well as a hard-coded string.
106106
</tr>
107107
</tbody>
108108
</table>
109+
110+
### Events
111+
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`).
114+
To catch these events do the following:
115+
116+
```js
117+
$scope.$on('advanced-searchbox:enteredEditMode', function (event, searchParameter) {
118+
///
119+
});
120+
121+
$scope.$on('advanced-searchbox:leavedEditMode', function (event, searchParameter) {
122+
///
123+
});
124+
125+
$scope.$on('advanced-searchbox:modelUpdated', function (event, model) {
126+
///
127+
});
128+
```

src/angular-advanced-searchbox.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ angular.module('angular-advanced-searchbox', [])
8585

8686
var searchParam = $scope.searchParams[index];
8787
searchParam.editMode = true;
88+
89+
$scope.$emit('advanced-searchbox:enteredEditMode', searchParam);
8890
};
8991

9092
$scope.leaveEditMode = function(e, index) {
@@ -94,6 +96,8 @@ angular.module('angular-advanced-searchbox', [])
9496
var searchParam = $scope.searchParams[index];
9597
searchParam.editMode = false;
9698

99+
$scope.$emit('advanced-searchbox:leavedEditMode', searchParam);
100+
97101
// remove empty search params
98102
if (!searchParam.value)
99103
$scope.removeSearchParam(index);
@@ -247,6 +251,9 @@ angular.module('angular-advanced-searchbox', [])
247251
});
248252

249253
changeBuffer.length = 0;
254+
255+
$scope.$emit('advanced-searchbox:modelUpdated', $scope.model);
256+
250257
}, $scope.searchThrottleTime);
251258
}
252259

0 commit comments

Comments
 (0)