hino / app / controllers / user-management / edit.js
edit.js
Raw
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
// import { observer } from '@ember/object';

export default Controller.extend({
	userManagement : service(),
	userManagementData : service(),
	roleManagementData : service(),
	approvalInputConfigurationData : service(),
	coreUserGroup : service(),
	coreUserGroupData : service(),
	dealerData : service(),
	
	errors : service(),
	didValidate: false,

	roleManagements: Array(),
	approvalInputConfigurations: Array(),
	coreUserGroups: Array(),

	formConfig : {
		employeeNo : { isEditable : false }, 
		employeeName : { isEditable : false }, 
		nickname : { isEditable : false }, 
		jobTitle : { isEditable : false }, 
		jobPosition : { isEditable : false }, 
		divisionDepartment : { isEditable : false }, 
		officePhone : { isEditable : false }, 
		province : { isEditable : false }, 
		city : { isEditable : false }, 
		zipCode : { isEditable : false }, 
		homePhone : { isEditable : false }, 
		mobilePhone : { isEditable : false }, 
		emailAddress : { isEditable : false }, 
		startDate : { isEditable : false }, 
		gender : { isEditable : false }, 
		dateOfBirth : { isEditable : false }, 
		cityOfBirth : { isEditable : false }, 
		maritalStatus : { isEditable : false }, 
		noOfChildren : { isEditable : false }, 
		idType : { isEditable : false }, 
		idNo : { isEditable : false }, 
		citizenship : { isEditable : false }, 
		companyName : { isEditable : false }, 
		loginType : { isEditable : true }, 
		userGroup : { isEditable : true }, 
		roleManagement : { isEditable : true }, 
		approvalInputConfiguration : { isEditable : true }, 
		isActive : { isEditable : true }, 
		password : { isEditable : true }, 
		verifyPassword : { isEditable : true }, 
		coreUserId : { isEditable : true }, 
		oldPassword : { isEditable : true }, 
	},
	init() {
		this._super(...arguments);
		var roleManagements = this.roleManagementData.getList();
		this.set("roleManagements", roleManagements);

		var approvalInputConfigurations = this.approvalInputConfigurationData.getList();
		this.set("approvalInputConfigurations", approvalInputConfigurations);

		var coreUserGroups = this.coreUserGroupData.getList();
		this.set("coreUserGroups", coreUserGroups);

		var dealers = this.dealerData.getList();
		this.set("dealers", dealers);
	},

	// myValueDidChange: observer('password', function() {
	// 	console.log("PASSWORD BERUBAH");
	// }),
	// userManagementObserver: observer('userManagement.model.password',function(){
	// 	console.log('observer triggered');
	// }),
	actions: {
		onChangeCombo(propertyName, item) {
			this.set(propertyName, item);
		},

		inputActionTrigger() {
			console.log('TRIGGERED');
		},

		limadua(){
			alert('ucok');
		},

		saveUserManagement() {
			this.get('model')
				.validate()
				.then(({ validations }) => {
					this.set('didValidate', true); 
					if (validations.get('isValid')) {
						this.set('userManagement.model.isApprovalData', false);
						this.userManagementData.save(this.userManagement.model).then(response => {
							if (response != undefined) {
								this.transitionToRoute('user-management.detail', response.id); 
							}
						})
						.catch((e) => {
							this.set('errorMessages', this.errors.getErrorMessages(e));
							window.scrollTo(0, 0);
						});
					}
			}); 
		},

	},
});