salix/modules/client/front/address/edit/index.js

56 lines
1.4 KiB
JavaScript
Raw Normal View History

2018-05-23 12:26:51 +00:00
import ngModule from '../../module';
2017-06-07 06:39:40 +00:00
export default class Controller {
constructor($scope, $state) {
this.$ = $scope;
2018-02-01 12:28:45 +00:00
this.$state = $state;
this.$stateParams = $state.params;
}
2018-02-01 12:28:45 +00:00
removeObservation(index) {
this.$.watcher.setDirty();
this.$.model.remove(index);
2018-02-07 12:10:22 +00:00
}
cancel() {
2018-07-25 11:37:27 +00:00
this.goToIndex();
}
goToIndex() {
this.$state.go('client.card.address.index');
}
setLocation() {
const location = this.$.postcode.selection;
if (!location || !location.town) return;
const town = location.town;
const province = town.province;
const country = province.country;
this.address.city = location.town.name;
this.address.provinceFk = province.id;
this.address.countryFk = country.id;
}
onSubmit() {
this.$.watcher.check();
this.$.watcher.realSubmit()
.then(() => this.$.model.save(true))
.then(() => {
this.$.watcher.setPristine();
this.$.watcher.notifySaved();
2018-05-02 09:54:13 +00:00
this.card.reload();
2018-07-25 11:37:27 +00:00
this.goToIndex();
2018-02-01 12:28:45 +00:00
});
2018-03-16 14:08:36 +00:00
}
2017-06-07 06:39:40 +00:00
}
Controller.$inject = ['$scope', '$state'];
2017-06-07 06:39:40 +00:00
2018-05-23 12:26:51 +00:00
ngModule.component('vnClientAddressEdit', {
template: require('./index.html'),
2018-05-02 09:54:13 +00:00
controller: Controller,
require: {
card: '^vnClientCard'
}
2017-06-03 11:01:47 +00:00
});