hino / app / controllers / dms-pdi-request / detail.js
detail.js
Raw
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';

export default Controller.extend({
	dmsPdiRequest : service(),
	dmsPdiRequestData : service(),
	dmsPdiRequestDetailData : service(),
	session : service(),
	errors : service(),
	didValidate: false,
	rightActionInProgress: false,
	approvalConfiguration:service(),

	async init() {
		this._super(...arguments);
		let formConfig = await this.approvalConfiguration.getApprovalConfiguration("dms-pdi-request");
		this.set("formConfig", formConfig);
	},

	actions: {
		scrollTo(fragmentIdLink) {
			document.querySelector(`#${fragmentIdLink}`).scrollIntoView({
				behavior: 'smooth',
				block: "start",
				inline: "start"
			});
		},
		async saveDmsPdiRequest() {
			this.dmsPdiRequest.model
				.validate()
				.then(({ validations }) => {
					this.set('didValidate', true); 
					if (validations.get('isValid')) {
						this.set('dmsPdiRequest.model.isApprovalData', false);
						this.dmsPdiRequestData.save(this.dmsPdiRequest.model).then(response => {
							if (response != undefined) {
								this.transitionToRoute('inbox.inbox-outstanding-dms', 'DMS_PDI_REQUEST'); 
							}
						})
						.catch((e) => {
							this.set('errorMessages', this.errors.getErrorMessages(e));
							window.scrollTo(0,0);
						});
					}
			}); 
		},
		
		addRowData(modal_type) {
			if (modal_type == "dms-pdi-request-detail") {
				let data = this.dmsPdiRequestDetailData.createRecord();
				this.dmsPdiRequest.addRow(data, "dmsPdiRequestDetail");
			}
		},
		deleteRowData(modal_type, data) {
			if (modal_type == "dms-pdi-request-detail") {
				this.dmsPdiRequest.deleteRow(data, "dmsPdiRequestDetail");
			}
		},
	}
});