lib/ui5/controller/Breeder_Detail.controller.js in fiveapples-0.0.5 vs lib/ui5/controller/Breeder_Detail.controller.js in fiveapples-0.0.6

- old
+ new

@@ -1,129 +1,100 @@ + sap.ui.define( [ "sap/ui/core/mvc/Controller", "sap/m/MessageToast", - "sap/ui/core/routing/History" + "./FileUpload", + "./Detail" ], - function(Controller, MessageToast, History) { + function(Controller, MessageToast, FileUpload, Detail) { "use strict"; return Controller.extend("fivea.controller.Breeder_Detail", { onInit: function() { this._oRouter = sap.ui.core.UIComponent.getRouterFor(this); this._oRouter .getRoute("breeder_detail") .attachPatternMatched(this.onDetailMatched, this); + this._entity_name = 'Breeder'; }, onDetailMatched: function(oEvent) { this._sObjectID = oEvent.getParameter("arguments").id; var sObjectPath = "/breeder(" + this._sObjectID + ")"; this._sObjectPath = sObjectPath; var oView = this.getView(); oView.bindElement({ path: sObjectPath }); + + var oAvatar = this.byId("avatar"); + this._sAvatar = oAvatar; + this._sAvatarImage = false; + this.loadAvatar(); }, + loadAvatar: function() { + var sImgsPath = this._sObjectPath + "/avatar"; + var that = this; + var oView = this.getView(); + var oModel = oView.getModel(); + var oAvatar = that.byId("avatar"); + + function _loadavsuccs(oData, response) { + // UploadUrl for Avatar creation (first time) + var oUrl = "/odata"+that._sObjectPath+"/avatar"; + var oSrc = null; + if (oData.avatar !== undefined ){ + if (Object.keys(oData.avatar).length === 0) { + var oI = oData.first_name.trim()[0] + oData.last_name.trim()[0]; + oAvatar.setInitials(oI); + } + else{ + oUrl = "/odata"+that._sObjectPath+"/avatar/$value"; + oSrc = oData.avatar.__metadata.media_src; +// Avatar was already uploaded. UploadUrl should be for an Update +// but it's not yet implemented in safrano 0.4 +// (POST /Photo(4)/$value ...safrano-todo) + oUrl = oSrc + + } + } + oAvatar.setSrc(oSrc); + oView.byId("fileUploader").setUploadUrl(oUrl); + oView.byId("fileUploader").setValue(""); + } + + function _loadaverr(oErr) { } + + oModel.read(this._sObjectPath, + { urlParameters:{$expand: "avatar"}, + success: _loadavsuccs, + error: _loadaverr }); + }, + handleUploadComplete: function() { + FileUpload.onComplete(this); + this.loadAvatar(); + }, + handleUploadPress: function() { + FileUpload.onPress(this) ; + }, - _onBindingChange: function(oEvent) {}, - onCultivarSelectionChange: function() { var oTable = this.byId("breeder_cultivar_table"); var iIndex = oTable.getSelectedIndex(); var oCtxt = oTable.getContextByIndex(iIndex); var sToPageParID = oCtxt.getProperty("id"); - var oRouter = sap.ui.core.UIComponent.getRouterFor(this); - oRouter.navTo("cultivar_detail", { id: sToPageParID }); + this._oRouter.navTo("cultivar_detail", { id: sToPageParID }); }, - onDeletePress: function(evt) { - var oView = this.getView(); - var oModel = oView.getModel(); - - var mParms = {}; - - var oDeleteDialog = new sap.ui.commons.Dialog(); - oDeleteDialog.setTitle("Delete Breeder"); - var oText = new sap.ui.commons.TextView({ - text: "Are you sure to delete this Breeder?" - }); - 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("breederList"); - // 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(); + Detail.onDeletePress(this, evt); }, - 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); - }, - - 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()); + Detail.onSave(this); }, - + navToList: function(){ + this._oRouter.navTo("breederList", true); + }, 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("breederList", true); - } + Detail.onNavBack(this); } }); } );