Telerik Forums
Kendo UI for jQuery Forum
1 answer
235 views
Hi, I'm trying to generate a ListView with a sparkline for each item. Each sparkline is associated with a metric that is provided by data source. Each metric has the information about the service that provides its data and the datatype. I'm using the datatype to define the format of the tooltip. However, the tooltip format function is bind only when each value of the series and not in the sparkline definitio. So, it uses the information of the last metric for all the sparklines. How I can use the correct datatype to set the tooltip?

This is my code: 

01.createChart: function (e) {
02.                var list = e.sender;
03.                var data = list.dataSource.data();
04.                for (var i = 0; i < data.length; i++) {
05.                    var item = list.wrapper.find("[data-uid='" + data[i].uid + "']");
06.                    var chart = item.find(".chart");
07.                    var metric = data[i];
08.                    this.metrics[data[i].uid] = metric.MetricType;
09.                    chart.kendoSparkline({
10.                        type: "column",
11.                        dataSource: new kendo.data.DataSource({
12.                            transport: {
13.                                read: {
14.                                    url: metric.MonthService,
15.                                    dataType: "json"
16.                                },
17.                                parameterMap: function (options, operation) {
18.                                    if (operation === "read") {
19.                                        options.hotelId = 2; // _model.get('hotelId');
20.                                        options.year = 2013; //_model.get('date').getYear() + 1900;
21.                                        options.month = 7; //_model.get('date').getMonth() + 1;
22.                                        return options;
23.                                    }
24.                                    return options;
25.                                }
26.                            }
27.                        }),
28.                        series: [{
29.                                    type: 'column',
30.                                    field: metric.MonthValue,
31.                                    color: '#ff0000',
32.                                    negativeColor: '#0099ff',
33.                                    metricType: metric.MetricType // Hack? or Extension
34.                                }],
35.                        tooltip: {
36.                            format: function () {
37.                                switch (metric.MetricType) {
38.                                    case 0: // Graduacion
39.                                        return "{0:N2}";
40.                                        break;
41.                                    case 1: // Cantidad
42.                                        return "{0:N0}";
43.                                        break;
44.                                    case 2: // Moneda
45.                                        return "{0:C2}";
46.                                        break;
47.                                    case 3: // Indice
48.                                        return "{0:N2}";
49.                                        break;
50.                                    case 4: // Porcentaje
51.                                        return "{0:P2}";
52.                                        break;
53.                                    case 5: //Clasificacion
54.                                        return "{0}";
55.                                        break;
56.                                }
57.                            },
58.                            visible: true,
59.                            shared: false
60.                        }
61.                    });
62.                }
In line 14 I set the url of the service based on the metric information. An in line 37 I trying to use the same approach for defining the tooltip but doesn't work. The last metric info is used for all the tooltips.

Thanks in advance.
Alexander Popov
Telerik team
 answered on 21 Dec 2013
1 answer
528 views
I have autohide tooltips, that may have scrollable content.  

But the tooltip hides before the use can move their mouse into the tooltip.  So, I want to delay the close to give the user a chance to scroll if desired.
Right now, the user has to navigate the mouse through the pointer to the target to keep it open.

Thanks
Alexander Popov
Telerik team
 answered on 21 Dec 2013
10 answers
248 views
I have taken the code from this Listview Load More demo:

http://demos.kendoui.com/mobile/listview/press-to-load-more.html#/

and tried running it on an iPhone UIWebView using these files:

<script src="js/jquery.min.js"></script>
<script src="js/kendo.mobile.min.js"></script>
<link href="css/kendo.mobilecommon.min.css" rel="stylesheet" />
<link href="css/kendo.mobile.all.min.css" rel="stylesheet" />

When I use these, the same code from the demo doesn't work with page sizes smaller than 50.  When I change to the kendo.all.min.js like the demo, the Load More works.  I would rather not include the kendo.all.min.js file in the app just for the Load More functionality.  What are the correct minimal includes necessary for the Kendo Mobile Listview Load More to work?

 
Thanks,
Derrick

Atanas Korchev
Telerik team
 answered on 21 Dec 2013
2 answers
134 views
So i have an application that starts up using the default platform.  I have added a button on the home screen that allows you to pick which platform you would like the UI to mimic.  My problem is actually getting the UI to change, or having it partially change.

I have some javascript code like:

var crmMobile = (function () {
    var mobileApp = null;

    return  {
                init: function (cfg) {
            mobileApp = new kendo.mobile.Application(document.body, {
                skin: settings.skin //this sets it to default
            });
        },
            changeSkin: function (skin) {  //I have tried used both of the below methods
                      mobileApp.skin = skin;
                      mobileApp.platform = skin;
            }
    }
})



Neither of those calls seems to change the the look.  any help would be much appreciated! Thanks.
Kiril Nikolov
Telerik team
 answered on 21 Dec 2013
2 answers
112 views
Hello.

Is there any way to catch format exception from Time picker? It seems that whenever I manually enter time with wrong format into Time picker it won't fire onChange event and I can not validate proper format.

Thank you.
Michael
Top achievements
Rank 1
 answered on 20 Dec 2013
2 answers
300 views
I need to invoke a js method after an Update Action with an inline editable grid. I hooked into the Save event as so: 

          .Events(e => e.Save("save_grid"))

However, that happens before the Update Action.  I need "save_grid" to occur AFTER the update action. 

Any ideas? 

GCS
Top achievements
Rank 1
 answered on 20 Dec 2013
1 answer
96 views
In the documentation for seriesDefaults.stack the following info is shown...

"The stack option is supported when series.type is set to 'bar' or 'column'."

However, I can set seriesDefaults.stack = true on a line or area chart and it seems to work. You also have an example that includes this capability.

Is this a new feature?

Is the documentation out of date?

Is this something we should or should not be doing?
Hristo Germanov
Telerik team
 answered on 20 Dec 2013
2 answers
227 views
hello there!
i have 3 views "menu", "details" and "cart" which have a header and a footer. The tabstrip only has 2 tabs : "menu" and "cart". 

<div data-role="view" id="menu" data-title="Menu"  data-layout="myLayout" data-model="viewModel">
   here i have a listview with the category names and when i click on an "li" it goes to the #details view where products are filtered by the category name
</div>

<div  id="details" data-role="view" data-title="Details" data-layout="myLayout" data-transition="slide:left" data-model="viewModel" >
    <h3 class="item-title">#: name #</h3>
    <p class="item-info">#: description #</p>
    <a data-role="button" data-item-id="#:id#" class="details-link fa"  data-icon="cart" data-bind="click: addToCart" >#: price # lei</a>
</div>

the footer from myLayout looks like this:

<footer data-role="footer">
<div data-role="tabstrip" id="badgeIcon">
    <a href="#menu" class="fa" data-icon="home">Menu</a>
    <a href="#cart" class="fa" data-icon="cart" >Cart</a>
</div>
</footer>

i have onInit function which works and initializes the badge:

function onInit(e) {
 var tabstrip = e.layout.footer.find(".km-tabstrip").data("kendoMobileTabStrip");
 tabstrip.badge(1,0);
}

And the addToCart function is this
function addToCart(e) {
var tabstrip = $("#badgeIcon").data("kendoMobileTabStrip");
tabstrip.badge(1, +tabstrip.badge(1) + 1);

....rest of function which works perfectly...
}

The app loads in the #menu view from where it goes to #details view,  and then,  when i click on a #li it crashes and gives me an error on the " tabstrip.badge(1, +tabstrip.badge(1) + 1); " line

Uncaught TypeError: Cannot call method 'badge' of undefined 

If i load the app in the #details view ( index.html#details ) with all the items shown, it works and updates the cart badge, but i want to filter them and thats why i have the #menu view first.

I'm using the latest kendo latest release with jQuery1.9.1

Please give me your input and thanks in advance :)








Radu
Top achievements
Rank 1
 answered on 20 Dec 2013
1 answer
89 views
The online demo for listiew editing (here)  lists the following code:


function listViewInit(e) {
    e.view.element.find("#list-edit-listview").kendoMobileListView({
        dataSource: dataSource,
        template: $("#itemTemplate").html()
    })
    .kendoTouch({
        filter: ">li",
        enableSwipe: true,
        touchstart: touchstart,
        tap: navigate,
        swipe: swipe
    });
}
   touchstart: touchstart,            
    tap: navigate,
    swipe: swipe
})}
However there is no documentation for the the filter parameter in the api documentation.  Please provide some documentation for it.


Alexander Valchev
Telerik team
 answered on 20 Dec 2013
1 answer
888 views
I am implementing an Endless Scrolling list view.  I would like to persist the list data items and position when I navigate to a detail view and return.  This works.  I would also like to be able to completely reset the Endless Scrolling list view when I go back to the main app view and return to the Endless Scrolling ListView, just like I had set the Endless Scrolling view itself to data-reload="true".  This is not working for me.

I can reset and clear a normal ListView like this;

contactListSource = new kendo.data.DataSource.create({data:[]});
$("#contacts_list_search_results").kendoMobileListView({
dataSource: contactListSource,
template: $("#contact_list_item_template").html()
});


The paging functionality complicates the clear with the Endless Scrolling list and causes issues when I try to reset the ListView.  The next time I come back to the Endless Scrool List the display starts in the middle of the list, and the first records from the list often don't get displayed. This is what I have so far to clear and rest (it only works if I have not scrolled on the original list, so I believe the issue has to do with a persisted scroll position):

                    $(".km-scroll-container").css("-webkit-transform", "");
                    $("#contacts_list_search_results").data("kendoMobileListView").dataSource.data([]);
                    $("#contacts_list_search_results").data("kendoMobileListView").dataSource._page=1;
                    $("#contacts_list_search_results").data("kendoMobileListView").dataSource._skip=0;

How is it possible to completely clear and reset and Endless Scrolling list view?

Thanks,
Derrick
Alexander Valchev
Telerik team
 answered on 20 Dec 2013
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?