hino / app / controllers / hoyu-faktur-approval / approval.js
approval.js
Raw
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
import ENV from '../../config/environment';

export default Controller.extend({
	hoyuFakturApproval: service(),
	hoyuFakturApprovalData: service(),
	hoyuFakturApprovalListData: service(),
	attachmentData: service(),
	hoyuFakturApprovalAttachmentData: service(),
	errors: service(),
	approvalConfiguration: service(),
	didValidate: false,
	formConfig: false,
	apiURL : null,
	attachments: Array(),

	async init() {
		this._super(...arguments);
		var attachments = this.attachmentData.getList();
		this.set("attachments", attachments);
		
		this.set('apiURL', ENV.APP.api.downloadPath);

		let formConfig = await this.approvalConfiguration.getApprovalConfiguration("hoyu-faktur-approval");
		this.set("formConfig", formConfig);

		// untuk replace br menjadi enter
		if (formConfig.form.catatan) {
			if (formConfig.form.catatan.isEditable) {
				let dCatatan = this.get('hoyuFakturApproval.model.catatan');
				let rCatatan = dCatatan.replace("<br />", "\r\n");
				this.set('hoyuFakturApproval.model.catatan', rCatatan);
			}
		}

	},

	actions: {
		onChangeCombo(propertyName, itemCollection) {
			this.set(propertyName, itemCollection);
		},
		uploadImage(changeset, propName, file) {
			changeset.set(propName, file);
		},

		async saveHoyuFakturApproval() {
			this.hoyuFakturApproval.model
				.validate()
				.then(({ validations }) => {
					this.set('didValidate', true);
					if (validations.get('isValid')) {
						this.set('hoyuFakturApproval.model.isApprovalData', true);
						this.hoyuFakturApprovalData.save(this.hoyuFakturApproval.model).then(response => {
							if (response != undefined) {
								this.transitionToRoute('inbox.inbox-approval-hoyu', 'HOYU_FAKTUR_APPROVAL');
							}
						})
							.catch((e) => {
								this.set('errorMessages', this.errors.getErrorMessages(e));
								window.scrollTo(0,0);
							});
					}
				});
		},

		addRowData(modal_type) {
			if (modal_type == "hoyu-faktur-approval-list") {
				let data = this.hoyuFakturApprovalListData.createRecord();
				this.hoyuFakturApproval.addRow(data, "hoyuFakturApprovalList");
			}
			if (modal_type == "hoyu-faktur-approval-attachment") {
				let data = this.hoyuFakturApprovalAttachmentData.createRecord();
				this.hoyuFakturApproval.addRow(data, "hoyuFakturApprovalAttachment");
			}
		},
		deleteRowData(modal_type, data) {
			if (modal_type == "hoyu-faktur-approval-list") {
				this.hoyuFakturApproval.deleteRow(data, "hoyuFakturApprovalList");
			}
			if (modal_type == "hoyu-faktur-approval-attachment") {
				this.hoyuFakturApproval.deleteRow(data, "hoyuFakturApprovalAttachment");
			}
		},
	},
});