메뉴 건너뛰기

SAP 한국 커뮤니티

Ch23 01-3번 ObjectDeep.controller.js

감자깡 2025.09.24 10:44 조회 수 : 5

sap.ui.define([

    "ea/zcertemp/controller/BaseController",

    "sap/m/MessageToast",

    "sap/m/MessageBox"

],

function (BaseController, MessageToast, MessageBox) {

    "use strict";

 

    return BaseController.extend("ea.zcertemp.controller.ObjectDeep", {

        onInit: function () {

            this.getRouter().getRoute("ObjectDeep")

                .attachPatternMatched(this._onRouteMatched, this);

        },

   

        _onRouteMatched: function(oEvent){

            this.getView().getModel("viewConfig").setProperty("/isEdit", false);

            this.initEmpModel();

            const oCertForm = this.byId("SF1");

            oCertForm.setEnableTable(true);

            oCertForm.setEditable(false);

       

            const oArgs = oEvent.getParameter("arguments");

 

            this.getView().bindElement({

                path : "/ZCERTINFOSet('" + oArgs.Certid + "')",

                events : {

                    change : function(oEvent){

 

                        this.getView().getModel()

                            .read(oEvent.getSource()

                            .getPath() + "/CertInfoToEmpcert", {

                                success : function(oData, oResponse){

 

                                    this._oEmpModel.oData.rows = oData.results;

 

                                    this._oEmpModel.refresh();

                                }.bind(this)

                            });

                    }.bind(this)

                }

            });

        },

        onEditToggled: function (){

            const oModel = this.getView().getModel();

            if(oModel.hasPendingChanges()){

                oModel.resetChanges();

            }

       

            const bEditable = this.byId("SF1").getEditable();

            this.byId("_IDButton1").setVisible(bEditable);

            this.setViewConfig("/isEdit", bEditable);

        }

 

    });

});