on 01-20-2015 4:38 PM
Dear all,
I'm going crazy! I have written a small app with a XML view.
In this app, the Formatter Method is not processed. Doing the same staff in a JS-view runs like hell.
Here's my code...
{
"RESULT": [
{ "WERKS": "1102",
"QTY_PROZ": 4.564,
"INFO": "Heidelberg
},
{ "WERKS": "1701",
"QTY_PROZ": 16.857,
"INFO": "Bern"
}
]
}
sap.ui.controller("dummy.main", {
onInit: function() {
var oModel = new sap.ui.model.json.JSONModel();
oModel.loadData("json/plants.json", false);
sap.ui.getCore().setModel(oModel,"MAIN");
},
});
<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
controllerName="dummy.main" xmlns:html="http://www.w3.org/1999/xhtml">
<Page showHeader="false" enableScrolling="false">
<TileContainer id="container" tiles="{MAIN>/RESULT}" allowAdd="false" editable="false">
<StandardTile number = "{MAIN>QTY_PROZ}"
numberUnit = "%"
info = "{MAIN>INFO}"
icon = "sap-icon://building"
title = "{ path: 'MAIN>WERKS', formatter: 'my.Formatter.getName() }"/>
</TileContainer>
</Page>
</core:View>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>
<script src="resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-libs="sap.m"
data-sap-ui-theme="sap_bluecrystal">
</script>
<script>
sap.ui.localResources("dummy");
var app = new sap.m.App({initialPage:"idmain1"});
var page = sap.ui.view({id:"idmain1", viewName:"dummy.main", type:sap.ui.core.mvc.ViewType.XML});
app.addPage(page);
app.placeAt("content");
</script>
<script src="util/Formatter.js"></script>
</head>
<body class="sapUiBody" role="application">
<div id="content"></div>
</body>
</html>
jQuery.sap.declare("my.Formatter");
my.Formatter = {
getName : function (value) {
if( value == "1102") return "DE";
if( value == "1701") return "CH";
return "xx";
}
};
As you can see, I'm trying to call a formatter for the title property of a StandardTile. the formatter method is in the file util/Formatter.js
But it is not processed by the runtime engine. The tile is displayed on the screen, but w/o the property "title".
I can call the method inside my Chrome debugger.manually, so from my point of view the code should know about the method.
Moving the getName directly into the controller is the same...
Any hint, why my formatter isn't called?
I really appriciate your support.
You should call your formatter without () and you're missing a closing quote:
title = "{ path: 'MAIN>WERKS', formatter: 'my.Formatter.getName' }"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ah I see:
Sorry to bring it up again.
Some formatter we will write, are not to be stored in "util.my.Formatter" because then, they are some kind of "global".
One time used formatter we would prefer to add them just into the controler.
Adding the method to the view's controller brings a similar result.
In the console I found:
2015-01-23 10:09:09 formatter function conv2Capital not found! -
Example:
<StandardTile number = "{MAIN>QTY_PROZ}"
numberUnit = "%"
info = "{MAIN>INFO}"
icon = "sap-icon://building"
title = "{ path: 'MAIN>WERKS', formatter:'conv2Capital' }"/>
The formatter isn't called 😉
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I found it:
If you want to call the formatter from your controller, called it with a dot in front of the method, eg:
formatter:'.conv2Capital'
Please see :
Hi,
is there also a possibility for using functions from a util file in xml view?
for example like:
<button press="util.General.showMessage">
we need this function in different views and if it wouldn't be necessary to define this function in each viewcontroller, that would save us lot of time.
br Alex
Dear Carsten,
Adding data-sap-ui-xx-bindingSyntax="complex" in index.html will work top of Mr. Robin's suggestion.
<script src="resources/sap-ui-core.js" id="sap-ui-bootstrap"
data-sap-ui-libs="sap.m,sap.ui.commons"
data-sap-ui-theme="sap_bluecrystal" data-sap-ui-xx-bindingSyntax="complex">
</script>
BR,
Prabhu
User | Count |
---|---|
82 | |
10 | |
10 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.