58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
import ngModule from '../module';
|
|
import Component from 'core/lib/component';
|
|
|
|
class Controller extends Component {
|
|
constructor($element, $) {
|
|
super($element, $);
|
|
|
|
this.path = `Zones/${this.$params.id}/warehouses`;
|
|
this.refresh();
|
|
}
|
|
|
|
refresh() {
|
|
let filter = {include: 'warehouse'};
|
|
this.$http.get(this.path, {params: {filter}})
|
|
.then(res => this.$.data = res.data);
|
|
}
|
|
|
|
onCreate() {
|
|
this.selected = {};
|
|
this.$.dialog.show();
|
|
}
|
|
|
|
onSave(response) {
|
|
if (response != 'accept') return;
|
|
|
|
this.$http.post(this.path, this.selected)
|
|
.then(() => {
|
|
this.selected = null;
|
|
this.isNew = null;
|
|
this.$.dialog.hide();
|
|
this.refresh();
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
onDelete(index) {
|
|
this.$.confirm.show();
|
|
this.deleteIndex = index;
|
|
}
|
|
|
|
delete(response) {
|
|
if (response != 'accept') return;
|
|
let id = this.$.data[this.deleteIndex].id;
|
|
if (!id) return;
|
|
this.$http.delete(`${this.path}/${id}`)
|
|
.then(() => {
|
|
this.$.data.splice(this.deleteIndex, 1);
|
|
this.deleteIndex = null;
|
|
});
|
|
}
|
|
}
|
|
|
|
ngModule.component('vnZoneWarehouses', {
|
|
template: require('./index.html'),
|
|
controller: Controller
|
|
});
|