hino / app / routes / inbox / inbox-outstanding-dms.js
inbox-outstanding-dms.js
Raw
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import BaseRoute from 'hino-hearts/routes/base';

export default BaseRoute.extend({
	inboxOustandingData: service(),
	document_type_code: null,
	templateName : 'inbox/inbox-document',
	queryParams: {
		page: {
			refreshModel: true
		},
		size: {
			refreshModel: true
		},
		filter: {
			refreshModel: true,
		},
		sort: {
			refreshModel: true
		},
		inboxfilter: {
			refreshModel: true
		}
	},
	model(params) {
		this.set('document_type_code', params.id);
		let filter = "\"document_type_code\" : { \"eq\" : \"" + params.id + "\"}"; 
		let inboxfilter = '';
		if (params.filter != null && params.filter != '') {
			let paramFilter = params.filter.slice(1,-1);
			filter += "," + paramFilter;
		}
		filter = "{" + filter + "}";
		filter = JSON.parse(filter);

		// filter khusus inbox status
		if (params.inboxfilter != null && params.inboxfilter != '') {
			let paramFilter = params.inboxfilter;
			inboxfilter = paramFilter;
		} else {
			inboxfilter = "\"inbox_status\" : \"OPEN\"";
		}
		inboxfilter = "{" + inboxfilter + "}";
		inboxfilter = JSON.parse(inboxfilter);
		
		let data = this.inboxOustandingData.getList({
			page: params.page,
			per_page: params.perPage,
			filter: filter,
			sort: '-inbox_documents.created_at',
			inboxfilter: inboxfilter,
		});

		this.set('data', data);
		return {};
	},

	setupController(controller, model) {
		this._super(...arguments);
		controller.set('document_type_code', this.get('document_type_code'));
		controller.set('model', this.get('data'));
	}
});