import ngModule from '../module'; class Controller { constructor($, _, $http, $stateParams) { Object.assign(this, { $, $http }); this.path = `/api/Zones/${$stateParams.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; }); } } Controller.$inject = ['$scope', '$translate', '$http', '$stateParams']; ngModule.component('vnZoneWarehouses', { template: require('./index.html'), controller: Controller });