import ngModule from '../../module'; import './style.scss'; class Controller { constructor($scope, $state, $http, vnApp, $translate) { this.$scope = $scope; this.$state = $state; this.$stateParams = $state.params; this.$http = $http; this.vnApp = vnApp; this.$translate = $translate; this.clientSample = { clientFk: this.$stateParams.id }; } showPreview() { let sampleType = this.$scope.sampleType.selection; let queryParams; if (!sampleType) return this.vnApp.showError(this.$translate.instant('Choose a sample')); if (sampleType.hasCompany && !this.clientSample.companyFk) return this.vnApp.showError(this.$translate.instant('Choose a company')); if (sampleType.hasCompany) { queryParams = `${sampleType.code}/${this.clientSample.companyFk}/${this.$stateParams.id}/preview`; } else { queryParams = `${sampleType.code}/${this.$stateParams.id}/preview`; } let query = `/mailer/notification/${queryParams}`; this.$http.get(query).then(res => { if (res.data) { let dialog = this.$scope.showPreview.element; let body = dialog.querySelector('tpl-body'); body.innerHTML = res.data; this.$scope.showPreview.show(); } }); } onSubmit() { this.$scope.watcher.check(); this.$scope.watcher.realSubmit().then(() => this.sendSample() ); } sendSample() { let sampleType = this.$scope.sampleType.selection; let queryParams; if (sampleType.hasCompany) { queryParams = `${sampleType.code}/${this.clientSample.companyFk}/${this.$stateParams.id}`; } else { queryParams = `${sampleType.code}/${this.$stateParams.id}`; } let query = `/mailer/notification/${queryParams}`; this.$http.get(query).then(res => { if (res) { this.vnApp.showSuccess(this.$translate.instant('Notification sent!')); this.$state.go('client.card.sample.index'); } }); } } Controller.$inject = ['$scope', '$state', '$http', 'vnApp', '$translate']; ngModule.component('vnClientSampleCreate', { template: require('./index.html'), controller: Controller });