hino / app / routes / role-management / detail.js
detail.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({
	roleManagement : service(),
	roleManagementData : service(),
	roleManagementDealerData: service(),
	roleManagementDealerBranchData: service(),
	store : service(),

	init() {
		this._super(...arguments);
	},

	async model(params) {
		this.roleManagement.setModel(null);
		// return this.roleManagementData.getData(params.id, { include: 'role-management-dealer,role-management-dealer-branch' })
		// .then(response => {
		// 	this.roleManagement.setModel(response);
		// 	this.roleManagementDealerData.getList({include: 'role-management,dealer', filter:{"roleManagement" : {"id" : response.id}}}).then(responseDetail => {

		// 		this.roleManagement.clearDetail("roleManagementDealer");
		// 		responseDetail.forEach(item => {
		// 			this.roleManagement.addRow(item, "role-management-dealer");
		// 		});
		// 	});
		// 	this.roleManagementDealerBranchData.getList({include: 'role-management,branch', filter:{"roleManagement" : {"id" : response.id}}}).then(responseDetail => {

		// 		this.roleManagement.clearDetail("roleManagementDealerBranch");
		// 		responseDetail.forEach(item => {
		// 			this.roleManagement.addRow(item, "role-management-dealer-branch");
		// 		});
		// 	});
		// 	return response;
		// });
		return await this.roleManagementData.getData(params.id, { include: 'role-management-dealer,role-management-dealer-branch' })
		.then(async response => {
			this.roleManagement.setModel(response);
			await this.roleManagementDealerData.getList({include: 'role-management,dealer', filter:{"roleManagement" : {"id" : response.id}}}).then(responseDetail => {
				this.roleManagement.clearDetail("roleManagementDealer");
				responseDetail.forEach(item => {
					this.roleManagement.addRow(item, "roleManagementDealer");
				});
			});
			await this.roleManagementDealerBranchData.getList({include: 'role-management,branch', filter:{"roleManagement" : {"id" : response.id}}}).then(responseDetail => {
				this.roleManagement.clearDetail("roleManagementDealerBranch");
				responseDetail.forEach(item => {
					this.roleManagement.addRow(item, "roleManagementDealerBranch");
				});
			});
			return response;
		});
	},

});