import Controller from '@ember/controller'; import { inject as service } from '@ember/service'; export default Controller.extend({ approvalInputConfiguration : service(), approvalInputConfigurationData : service(), formData : service(), fieldData : service(), approvalInputConfigurationDetailData : service(), approvalInputConfigurationDetailActionData : service(), session : service(), errors : service(), didValidate: false, rightActionInProgress: false, forms: Array(), fields: Array(), fieldsArray: Array(), init() { this._super(...arguments); var forms = this.formData.getList(); this.set("forms", forms); var fields = this.fieldData.getList(); this.set("fields", fields); // this.set("fieldsArray.0", fields); }, actions: { onChangeCombo(propertyName, itemCollection) { if (propertyName == "form") { this.reloadField(); } }, async saveApprovalInputConfiguration() { this.set("rightActionInProgress", true); this.get('model') .validate() .then(async ({ validations }) => { this.set('didValidate', true); if (validations.get('isValid')) { this.set('approvalInputConfiguration.model.isApprovalData', false); this.approvalInputConfigurationData.save(this.approvalInputConfiguration.model).then(response => { if (response != undefined) { this.transitionToRoute('approval-input-configuration.detail', response.id); this.set("rightActionInProgress", false); } }) .catch((e) => { this.set("rightActionInProgress", false); this.set('errorMessages', this.errors.getErrorMessages(e)); window.scrollTo(0, 0); }); } else { this.set("rightActionInProgress", false); } }); }, addRowData(modal_type) { if (modal_type == "approval-input-configuration-detail") { let data = this.approvalInputConfigurationDetailData.createRecord(); this.approvalInputConfiguration.addRow(data, "approvalInputConfigurationDetail"); } if (modal_type == "approval-input-configuration-detail-action") { let data = this.approvalInputConfigurationDetailActionData.createRecord(); this.approvalInputConfiguration.addRow(data, "approvalInputConfigurationDetailAction"); } }, deleteRowData(modal_type, data) { if (modal_type == "approval-input-configuration-detail") { this.approvalInputConfiguration.deleteRow(data, "approvalInputConfigurationDetail"); } if (modal_type == "approval-input-configuration-detail-action") { this.approvalInputConfiguration.deleteRow(data, "approvalInputConfigurationDetailAction"); } }, }, reloadField() { let index = this.approvalInputConfiguration.getIndex(); let filter = this.approvalInputConfiguration.buildFilter(index); if (filter != null && filter != '') { filter = '{' + filter + '}'; filter = JSON.parse(filter); } let fields = this.fieldData.getList({filter: filter}).then(result=>{ this.set("fields", null); this.set("fields", result); // this.set("fieldsArray.0", null); // this.set("fieldsArray.0", result); // this.roleManagement.refreshBranches(); }); }, fieldsArrayAt(index){ let array = this.fieldsArray; console.log("BENTUK ARRAY", array); console.log("ARRAY by DYNAMIC INDEX", array.get(index)); let arr_return = array.get(index); return arr_return; } });