sap.ui.define( [ "jquery.sap.global", "sap/ui/core/mvc/Controller", "sap/m/MessageToast", "sap/m/MessageBox", "sap/ui/commons/Dialog", "sap/ui/core/routing/History" ], function(jQuery, Controller, MessageToast, MessageBox, Dialog, History) { "use strict"; return Controller.extend("fivea.controller.Cultivar_Detail", { onInit: function() { this._oRouter = sap.ui.core.UIComponent.getRouterFor(this); this._oRouter .getRoute("cultivar_detail") .attachPatternMatched(this.onDetailMatched, this); }, onDetailMatched: function(oEvent) { this._sObjectID = oEvent.getParameter("arguments").id; var sObjectPath = "/cultivar(" + this._sObjectID + ")"; this._sObjectPath = sObjectPath; var oView = this.getView(); oView.bindElement({ path: sObjectPath }); }, _onBindingChange: function(oEvent) {}, onCreatePress: function(evt) { this._oRouter.navTo("cultivar_create"); }, onDeletePress: function(evt) { var oView = this.getView(); var oModel = oView.getModel(); var mParms = {}; var oDeleteDialog = new sap.ui.commons.Dialog(); oDeleteDialog.setTitle("Delete Cultivar"); var oText = new sap.ui.commons.TextView({ text: "Are you sure to delete this Cultivar?" }); var _that = this; oDeleteDialog.addContent(oText); oDeleteDialog.addButton( new sap.ui.commons.Button({ text: "Confirm", press: function() { var mParms = {}; mParms.success = function(data, response) { oDeleteDialog.close(); _that._oRouter.navTo("cultivarList"); // oModel.refresh(); }; mParms.error = function(error) { oDeleteDialog.close(); MessageToast.show("Delete failed"); }; var sMsg; sMsg = oView.getBindingContext(); mParms.context = sMsg; oModel.remove("", mParms); } }) ); oDeleteDialog.open(); }, onSave: function() { var oView = this.getView(); var oModel = oView.getModel(); var mParms = {}; function onSuccessHandler() { oModel.refresh(); oModel.updateBindings(); MessageToast.show("Update success"); } function onErrorHandler() { MessageToast.show("Update failed"); } //var sPath = this._sObjectPath; //var oData = oModel.getData(sPath); //console.log("Model data:", oData); //console.log("Model has pending changes:", oModel.hasPendingChanges()); //console.log("Pending changes:", oModel.getPendingChanges()); mParms.success = onSuccessHandler; mParms.error = onErrorHandler; oModel.setTokenHandlingEnabled(true); oModel.updateSecurityToken(); oModel.submitChanges(mParms); }, onCreateParentForPress: function() { var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo("parent_create_for", { cultivar_id: this._sObjectID }); }, handleBreederPress: function() { var sBreeder_id = this.byId("breeder_id").getValue(); var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo("breeder_detail", { id: sBreeder_id }); }, onCheck: function() { var oView = this.getView(); var oModel = oView.getModel(); var sPath = this._sObjectPath; var oData = oModel.getData(sPath); console.log("Model data:", oData); console.log("Model has pending changes:", oModel.hasPendingChanges()); console.log("Pending changes:", oModel.getPendingChanges()); }, onNavBack: function() { var oHistory = History.getInstance(); var sPreviousHash = oHistory.getPreviousHash(); if (sPreviousHash !== undefined) { window.history.go(-1); } else { var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo("cultivarList", true); } }, onParentSelectionChange: function() { var oTable = this.byId("parent_table"); var iIndex = oTable.getSelectedIndex(); var oCtxt = oTable.getContextByIndex(iIndex); var sToPageParID = oCtxt.getProperty("parent_id"); var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo("cultivar_detail", { id: sToPageParID }); }, onChildSelectionChange: function() { var oTable = this.byId("child_table"); var iIndex = oTable.getSelectedIndex(); var oCtxt = oTable.getContextByIndex(iIndex); var sToPageID = oCtxt.getProperty("cultivar_id"); var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo("cultivar_detail", { id: sToPageID }); }, // Warning: alot of dupl. code with the "cultivar create" controlller inputId: "", inputDescrId: "", onBreederCreatePress: function(evt) { var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo("breeder_create"); }, onBreederIdValueHelp: function(oEvent) { this.inputId = oEvent.getSource().getId(); this.inputDescrId = this.inputId + "_descr"; // create value help dialog if (!this._valueHelpDialog) { this._valueHelpDialog = sap.ui.xmlfragment( "fivea.view.BreederOptio", this ); this.getView().addDependent(this._valueHelpDialog); } this._valueHelpDialog.open(""); }, _handleValueHelpSearch: function(evt) { var sValue = evt.getParameter("value"); var oFilter = new Filter( "name", sap.ui.model.FilterOperator.Contains, sValue ); evt .getSource() .getBinding("items") .filter([oFilter]); }, _handleValueHelpClose: function(evt) { var oSelectedItem = evt.getParameter("selectedItem"); if (oSelectedItem) { var IDInput = this.getView().byId(this.inputId); IDInput.setValue(oSelectedItem.getDescription()); var oText = this.getView().byId(this.inputDescrId); oText.setText(oSelectedItem.getTitle()); } evt .getSource() .getBinding("items") .filter([]); }, handleUploadComplete: function() { sap.m.MessageToast.show("File Uploaded"); // var oFilerefresh = this.getView().byId("itemlist"); // oFilerefresh.getModel("Data").refresh(true); // sap.m.MessageToast.show("File refreshed"); }, handleUploadPress: function() { var oFileUploader = this.getView().byId("fileUploader"); if (oFileUploader.getValue() === "") { MessageToast.show("Please Choose any File"); } oFileUploader.addHeaderParameter( new sap.ui.unified.FileUploaderParameter({ name: "SLUG", value: oFileUploader.getValue() }) ); oFileUploader.setSendXHR(true); oFileUploader.upload(); } }); } );