import ngModule from '../module'; import './style.scss'; class Controller { constructor($state, $scope, $http, vnApp, $translate) { this.$state = $state; this.$scope = $scope; this.$http = $http; this.vnApp = vnApp; this.$translate = $translate; this.moreOptions = [ {callback: this.showRegularizeDialog, name: 'Regularize stock'} ]; } set quantity(value) { this._quantity = parseInt(value); } get quantity() { return this._quantity; } set warehouseFk(value) { if (value) this._warehouseFk = value; } get warehouseFk() { if (!this._warehouseFk) this._warehouseFk = parseInt(window.localStorage.defaultWarehouseFk); return this._warehouseFk; } set item(value) { this._item = value; this.available = null; this.visible = null; if (!this.item) { this.params = { params: { itemFk: this.item, warehouseFk: this._warehouseFk } }; } return this._item; } get item() { return this._item; } onMoreChange(callback) { callback.call(this); } showRegularizeDialog() { this.$scope.regularize.show(); } set quicklinks(value = {}) { this._quicklinks = Object.assign(value, this._quicklinks); } get quicklinks() { return this._quicklinks; } saveRegularize(response) { if (response == 'ACCEPT') { this.$http.post(`/item/api/Items/regularize`, { itemFk: this.item.id, quantity: this.quantity, warehouseFk: this.warehouseFk }).then(res => { this.vnApp.showSuccess(this.$translate.instant('Data saved!')); this.card.reload(); }); } } clearRegularizeDialog() { this.warehouseFk = null; this.quantity = null; } } Controller.$inject = ['$state', '$scope', '$http', 'vnApp', '$translate']; ngModule.component('vnItemDescriptor', { template: require('./index.html'), controller: Controller, bindings: { item: '<', quicklinks: '<' } });