import ngModule from '../module'; import Section from 'salix/components/section'; import UserError from 'core/lib/user-error'; class Controller extends Section { $onInit() { this.services = []; this.getDefaultTaxClass(); } getDefaultTaxClass() { let filter = { where: {code: 'G'} }; this.$http.get('TaxClasses/findOne', {filter}) .then(res => this.defaultTaxClass = res.data); } add() { if (this.defaultTaxClass) { this.$.model.insert({ taxClassFk: this.defaultTaxClass.id, quantity: 1, ticketFk: this.$params.id }); } } onNewServiceTypeOpen() { this.newServiceType = {}; } newServiceTypeDialog(elementIndex, event) { event.preventDefault(); this.$.createServiceTypeDialog.show(); this.currentServiceIndex = elementIndex; } onNewServiceTypeResponse(response) { if (response == 'accept') { if (!this.newServiceType.name) throw new UserError(`Name can't be empty`); this.$http.post(`TicketServiceTypes`, this.newServiceType).then(response => { this.services[this.currentServiceIndex].ticketServiceTypeFk = response.data.id; }); } } onSubmit() { this.$.watcher.check(); this.$.model.save().then(() => { this.$.watcher.notifySaved(); this.$.model.refresh(); }); } } ngModule.component('vnTicketService', { template: require('./index.html'), controller: Controller });