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

- old
+ new

@@ -1,226 +1,193 @@ + + 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" + "./FileUpload", + "./Detail", + "./Breeder" ], - function(jQuery, Controller, MessageToast, MessageBox, Dialog, History) { + function(Controller, MessageToast, Dialog, + FileUpload, Detail, Breeder) { "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); + this._entity_name = 'Cultivar'; }, - - onDetailMatched: function(oEvent) { + + onDetailMatched: function(oEvent) { this._sObjectID = oEvent.getParameter("arguments").id; - var sObjectPath = "/cultivar(" + this._sObjectID + ")"; - this._sObjectPath = sObjectPath; + this._sObjectPath = "/cultivar(" + this._sObjectID + ")"; + this._oImages = this.byId("images"); + this._oAvatar = this.byId("avatar"); + + this.getView().bindElement(this._sObjectPath); + + this.loadDetails(); + + }, + + + loadImages: function(){ + + var oModel = this.getOwnerComponent().getModel(); + var that = this; + this._oImages.removeAllContent(); + + function _loadimsuccs(oData, response){ + that.loadimsuccs(oData, response); + }; + + function _loadimerr(oErr){}; + + oModel.read(this._sObjectPath+"/photo", + { success: _loadimsuccs, + error: _loadimerr }); + + }, + loadDetails: function(){ + var oModel = this.getOwnerComponent().getModel(); + var that = this; + this._oAvatar.setInitials(null); + this._oAvatar.setSrc(null); + this._oImages.removeAllContent(); + + function _loaddetailssuccs(oData, response){ + + that.loadimsuccs(oData.photo, response); + that.loadavsuccs(oData.breeder, response); + + }; + function _loaddetailserr(oErr){}; + + oModel.read(this._sObjectPath, + { urlParameters:{$expand: "photo,breeder/avatar"}, + success: _loaddetailssuccs, + error: _loaddetailserr }); - var oView = this.getView(); - oView.bindElement({ path: sObjectPath }); }, - _onBindingChange: function(oEvent) {}, onCreatePress: function(evt) { this._oRouter.navTo("cultivar_create"); }, - + + onSave: function() { + Detail.onSave(this); + }, + 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(); + Detail.onDeletePress(this, evt); }, - onSave: function() { - var oView = this.getView(); - var oModel = oView.getModel(); - var mParms = {}; + loadavsuccs: function(oData, response) { +// this is the known photo media_src path assuming data is already saved + var oUrl = "/odata"+this._sObjectPath+"/breeder/avatar/$value"; + if (oData.avatar !== undefined ) + if (Object.keys(oData.avatar).length === 0) { + this._oAvatar.setSrc(null); + var oI = oData.first_name.trim()[0] + oData.last_name.trim()[0]; + this._oAvatar.setInitials(oI); + } + else{ +// this URL works when we return from the breeder search help + oUrl = oData.avatar.__metadata.media_src; + this._oAvatar.setSrc(oUrl); + } + else{ + this._oAvatar.setSrc(null); + } + }, - 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()); + loadimsuccs: function(oData, response){ + var i, len, oEntry; + var oList = oData["results"]; + for (i = 0, len = oList.length; i < len; ++i) { + oEntry = oList[i]; + var oImage = new sap.m.Image(i); + oImage.setSrc(oEntry.__metadata.media_src); - mParms.success = onSuccessHandler; - mParms.error = onErrorHandler; + oImage.setDecorative(false); + oImage.setHeight('200px'); + var oLightBoxItem = new sap.m.LightBoxItem(i) ; + oLightBoxItem.setImageSrc(oEntry.__metadata.media_src); + oLightBoxItem.setSubtitle(oEntry.name); - oModel.setTokenHandlingEnabled(true); - oModel.updateSecurityToken(); + var oDetailBox = new sap.m.LightBox(); + oDetailBox.removeAllImageContent() ; + oDetailBox.addImageContent(oLightBoxItem); - oModel.submitChanges(mParms); - }, + oImage.setDetailBox(oDetailBox); + this._oImages.addContent(oImage); + } + this.getView().byId("fileUploader").setValue(""); + }, + onCreateParentForPress: function() { - var oRouter = sap.ui.core.UIComponent.getRouterFor(this); - oRouter.navTo("parent_create_for", { cultivar_id: this._sObjectID }); + 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 }); + 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()); + navToList: function(){ + this._oRouter.navTo("cultivarList", 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("cultivarList", true); - } + Detail.onNavBack(this); }, 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 }); + 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 }); + this._oRouter.navTo("cultivar_detail", { id: sToPageID }); }, + onBreederCreatePress: function(evt) { + this._oRouter.navTo("breeder_create"); + }, // Warning: alot of dupl. code with the "cultivar create" controlller + // --> modularised in Breeder.js 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(""); + Breeder.onIdValueHelp(this, oEvent); }, _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]); + Breeder._handleValueHelpSearch(evt); }, _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([]); + Breeder._handleValueHelpClose(this, evt); }, + 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"); + FileUpload.onComplete(this); + this.loadImages(); }, 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(); + FileUpload.onPress(this) ; } }); } );