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) ;
}
});
}
);