I have a form control in some directive. I am resetting object data to its original state but it is not working in the $scope.on event. If I use it outside in some function it works.
$scope.$on('edit_view_changed', function (event, parameters) {
if (parameters.viewName === "" && parameters.editIndex === -1) {
vm.resetData();
// this reset data is not working
}
});
function resetData() {
vm.rowData = angular.copy(vm.data);
}
// works properly on cancel button click
function cancelEdit() {
vm.resetData();
$timeout(function () {
vm.editCancelProspect();
});
}
// RowData is bind to a form in a html view.
<form class="col-md-12" name="editForm" novalidate>
<div class="col-md-10">
<div class="form-group col-md-3">
<label class="col-sm-3 control-label">{{'customers.columns.companyName'|translate}}</label>
<input type="text" name="name" class="form-control" ng-model="vm.rowData.name"></input>
</div>
<div class="form-group col-md-4">
<label class="col-sm-3 control-label">{{'customers.columns.address'|translate}}</label>
<input type="text" name="adresse" class="form-control" ng-model="vm.rowData.adresse"></input>
</div>
<div class="form-group col-md-3">
<label class="col-sm-3 control-label">{{'customers.columns.contactPerson'|translate}}</label>
<input type="text" name="kontakt" class="form-control" ng-model="vm.rowData.companyContact"></input>
</div>
<div class="form-group col-md-2 ">
<label class="col-sm-3 control-label">{{'customers.columns.phone'|translate}}</label>
<input type="text" name="phone" class="form-control" ng-model="vm.rowData.phone" ng-pattern="/^\d+$/"></input>
<span ng-show="editForm.phone.$error.pattern" class="error">{{'customers.inValidPhone' | translate}}</span>
</div>
</div>
<button type="button" class="btn cancel-button" title="{{'prospects.cancelEdit'|translate}}" ng-click="vm.cancelEdit()">
{{'prospects.cancelEdit'|translate}}</button>
</form>