Telerik Forums
Kendo UI for jQuery Forum
1 answer
227 views

Hi,

I once created a custom widget which extended the Multiselect widget (using Kendo 2016.2.714), but once I switch to Kendo 2017 (.1 or .2, doesn't matter), the widget is broken and gives a javascript error ("TypeError: Cannot read property 'done' of undefined"). For the purpose of this post, I created a really simple widget, showing the issue:

kendo.ui.plugin(kendo.ui.MultiSelect.extend({
    init: function (element, options) {
        kendo.ui.MultiSelect.fn.init.call(this, element, options);
    },
    options: {
        name: 'MultiSelectCustom'
    },
    _select: function(e) {
        console.log(e);
    }
}));
 
kendo.data.binders.widget.multiselectcustom = kendo.data.binders.widget.multiselect;

 

The issue seems to be in the override of the "select" function, when I remove that, no JavaScript errors are to be seen.

How to get this to work again with Kendo 2017?

Regards,
Pieter

Dimitar
Telerik team
 answered on 04 Aug 2017
6 answers
112 views

Greetings.

Recently we have moved to the newest version of Telerik Kendo UI, v2017.2.621 from 2016.3.914.

The update has broken Chart drawing as it appears, the Datawiz works perfectly fine on 2016.3.914 however 2017.2.612 keeps throwing Error: <path>... See log for more details. Replacing the kendo.datawiz.min.js value with contents of 2016.3.914 appears to fix the issue my only concern is if there are any changes in the update which are crucial items to work, i.e. will it break anything?

Error log (from Inspector Tools)

https://hastebin.com/evetupivew.swift

On of our tools relies on Graph controls, so it's crucial it works perfectly as it should, version 2017 doesn't.

Just in case it could be browser relevant (which I doubt it is), I'm running Chrome on Version 59.0.3071.115.

 

Any support in this matter will be highly appreciated, as I don't want to run on 2016 version if it'll break other things, however if it doesn't and changes within the update are irrelevant to other controls we should be good to say on 2016 datawiz script.

 

Regards,

Adrian

Stefan
Telerik team
 answered on 04 Aug 2017
1 answer
260 views

I have some problem to remove filters from my treeview component. As source i use the following demo http://demos.telerik.com/kendo-ui/treeview/api.

As far as i can see the following piece of code should do the job: treeview.dataSource.filter({});

But neither in the demo nor on my example this does not to work.

Plamen
Telerik team
 answered on 04 Aug 2017
1 answer
354 views

I have a multiselect control on my AngularJS page that can contain too many items to fit nicely in the required area. As a result, I have tagMode as "single" to show how many items are selected. I have included a kendo-tooltip in a div tag around the MultiSelect with a title that is a list of all the selected items. 

<div id="showTooltip" kendo-tooltip title="{{vm.titleText}}">
     <select kendo-multi-select="showMulti"
             id="calendarShow"
             k-options="vm.showOptions"
             k-ng-model="vm.selectedTypes"></select>
</div>

I am currently updating this list in the change event in vm.showOptions. This works whenever items are selected or deselected, provided that there is AT LEAST one item selected. When I deselect the final item, the change event runs and updates the value of vm.titleText to a value of "None". However, the tooltip that is shown is empty. When I look in the developer tools, the title is not set at all. I assume there is something that fires in the MultiSelect when items are selected, but does not fire when there is no selection. Is there some way to force this to run?

This is my change event code:

function checkInputs() {
   // Set up header text
    var title = $($scope.showMulti.element[0].previousSibling);
    var titleText = '';
    vm.selectedTypes = vm.selectedTypes.sort(function (a, b) {  return a - b;  });
    angular.forEach(vm.selectedTypes, function (item) {
        titleText = titleText + $filter('filter')(vm.showTypes, { 'value': item }, true)[0].text + ', ';
    });
 
    if (titleText) {
        titleText = titleText.slice(0, titleText.length - 2);
    } else {
        titleText = 'None';
        $scope.$digest();
    }
    vm.titleText = titleText;
}

Running $scope.$digest() or $scope.$apply() does not seem to have any effect on what is shown.

Veselin Tsvetanov
Telerik team
 answered on 03 Aug 2017
3 answers
886 views

I have a grid that builds from Sharepoint list... the problem I have is that in my list (data table) I have a value that is recorded as an array, I know I can format the result on the grid using a template, however when I do this I can use the sort function. I think that it's because when the grid builds it sees that the results are [Object object] and not the final result.

 

My code is something like this 

 

var currentContext = new SP.ClientContext.get_current();
    var targetList = currentContext.get_web().get_lists().getByTitle('Flujos');
    var camlBuilder = new CamlBuilder();
    var query = camlBuilder.Where().TextField("Activa").EqualTo("true").ToCamlQuery();

ListItems = targetList.getItems(query);
    currentContext.load(ListItems);
    currentContext.executeQueryAsync(Succeeded, Failed);

    function Succeeded() {
        var listEnumerator = ListItems.getEnumerator();

        var solEntries = [];
        while (listEnumerator.moveNext()) {
            var item = listEnumerator.get_current();
            var entry = item.get_fieldValues();
            solEntries.push(entry);
          
        }
        $("#grid").kendoGrid({

            culture: "es-CL",
            toolbar: ["excel"],
            excel: {
                fileName: "GerenciaPersonas_" + fec1 + ".xlsx",
                filterable: true
            },
            dataSource: solEntries,
            /*pageable: {
                scrollable: true,
                refresh: true,
                pageSizes: true,
                buttonCount: 5
            },*/
            scrolling: true,
            sorting: {
                multiple: true
            },
            height: "500px",
            sortable: {
                mode: "single",
                allowUnsort: false
            },
            paging: false,
            filterable: {
                mode: "row",
            },
            selection: {
                type: "row",
                multiple: true,
                toggle: false
            },
            columns: [
                { field: "Solicitud", title: "Solicitud", template: "#= formatSolicitud(data) #", width: "90px", filterable: false },
                { field: 'Created', title: 'Creada', width: "70px", filterable: false, format: "{0:dd-MM-yyyy}" },
                { field: 'Activa', title: 'Activa', width: "50px", filterable: false }
            ]
        });

        var grid = $("#grid").data("kendoGrid");
    } // FIN SUCCEED

 

After this the results are like this : Image of the Result

I know I can use a template with this function

function formatSolicitud(o) {
    var firstFieldName = Object.keys(JSON.parse(JSON.stringify(o.Solicitud)))[1];
    var object = JSON.parse(JSON.stringify(o.Solicitud));
    var res = object[firstFieldName];
    return res;
}

How ever I can't use the sort function, it just doesn't sort at all, and I think that it's because the grid saw that the results where [Object object] before being transformed.

 

I would love some help on this topic.

 

 

Alex Hajigeorgieva
Telerik team
 answered on 03 Aug 2017
1 answer
508 views

Hello

Our team is developing forms with cascading comboboxes with big datasets.

Because of this we looking for this features:

- server filtering, now combobox supports only local data,

- virtual scrolling and scrolling events.

 

Will this features be implemented in the nearest future?

 

Thank you for any answers.

Dimitar
Telerik team
 answered on 03 Aug 2017
5 answers
645 views

I'm having a strange problem (it didn't happen before and all of a sudden started happening) with the Kendo().TimePickerFor().

 

I have an ASP MVC application and I'm passing a model with start and end times to the Kendo().TimePickerFor() like this:

<div>
                   @Html.LabelFor(model => model.StartTime)
                   @(Html.Kendo().TimePickerFor(model => model.StartTime).Events(e => e.Change("startChange"));
</div>
<div>

       @Html.LabelFor(model => model.EndTime)
       @Html.Kendo().TimePickerFor(model => model.EndTime);
</div>

 

Using the chrome debugger; I get this error:

 

The specified value "8:00 AM" does not conform to the required format.  The format is "HH:mm", "HH:mm:ss" or "HH:mm:ss.SSS" where HH is 00-23, mm is 00-59, ss is 00-59, and SSS is 000-999.

 

 

So I thought, OK, just a formatting issue. So I did this:

 

   <div>
                   @Html.LabelFor(model => model.StartTime)
                   @(Html.Kendo().TimePickerFor(model => model.StartTime)
        .Events(e => e.Change("startChange")).Format("hh:mm"));
                                </div>

 

But this changes it to military I no longer have the AM/PM option.

 

So I did this:

   <div>
                   @Html.LabelFor(model => model.StartTime)
                   @(Html.Kendo().TimePickerFor(model => model.StartTime)
        .Events(e => e.Change("startChange")).Format("hh:mm"));
                                </div>

 

and I get the original error as above on the chrome debugger: 

The specified value "8:00 AM" does not conform to the required format.  The format is "HH:mm", "HH:mm:ss" or "HH:mm:ss.SSS" where HH is 00-23, mm is 00-59, ss is 00-59, and SSS is 000-999.

 

 

How do I pass the date and keep the am/pm format?

 

 

 

 

 

Georgi
Telerik team
 answered on 03 Aug 2017
1 answer
116 views

Hello Telerik Team,

I have some issues when using Kendo editor on mobile:

- The Kendo editor FontName not show selected value on mobile.

- Can not touch on table wizard button on mobile.

Could you please tell me some solutions how to resolve these issue.

Thanks for your support!

Misho
Telerik team
 answered on 02 Aug 2017
1 answer
518 views

Hi

I would like to know how to find what cells are used in the spreadsheet. I want to validate & process all entered values.

 Instead of iterating all the rows, if we iterate only used cell range, it will take less time to execute. 

I have referred the below link but couldn't find the mentioned option in the below link. 

  http://www.telerik.com/forums/spreadsheet-row-and-column

Please help me.

 

Veselin Tsvetanov
Telerik team
 answered on 02 Aug 2017
3 answers
112 views

Hello, 

I hope that shapes of diagram are connected only left and right.

I have attached a screenshot of the problem I'm experiencing, so please confirm.

 

I tried to set connectors: [{name: "left"}, {name: "right"}] in shapeDefaults.connectors.

But this did not show all the lines.

 

Regards,
Junho Park

Tsvetina
Telerik team
 answered on 02 Aug 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?