Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.02.2017, 09:15
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Не выводятся данные в kendo tree list
Доброго времени суток, форумчане! Помогите пожалуйста, не получается выявить причину, по которой не выводятся данные в kendo tree list
var treelistDataSource = new kendo.data.TreeListDataSource({
            transport: {
                read: function (e) {
                    var searchTerm = $('#product-search').val();
                    Ajax2.executeAjaxRequest(QueryParameters.GetProductsParams(searchTerm), e);
                },
                update: function (e) {
                },
                destroy: function (e) {
                },
                create: function (e) {
                },

                // Post changed models in the `model` field, as serialized JSON
                parameterMap: function (options, operation) {
                    if (operation !== "read" && options.models) {
                        return { models: kendo.stringify(options.models) };
                    }
                }
            },

            // Enable batch updates
            batch: true,

            // Define the model schema
            schema: {
                model: {
                    id: "id",
                    fields: {
                        id: { type: "number", nullable: false },
                        parentId: { field: "parentId", nullable: true },
                        title: { type: "string", nullable: false }
                    }
                }
            }
        });

       

        TLGoods = $("#goodtreelist").kendoTreeList({
            dataSource: treelistDataSource,
            height: function () {
                return $(window).height() - 120;
            },
            resizable: true,
            groupable: true,
            editable: {
                move: true
            },
            drop: function (e) {
                if (e.valid) {
                    ProductActions.DropCat(e.source.id, e.destination);
                }
            },
            columns: [
                { field: "id", title: "#", width: 60 },
                { field: "parentId", title: "parentId", width: 60 },
                { field: "title", title: "Название", expandable: true },
                {
                    field: "Action",
                    title: "Действия",
                    width: 80,
                    template: "<div class='b-task'>" + "#=ProductActions.TLGoodAdd(data)#" + "#=ProductActions.TLGoodEdit(data)#" + "#=ProductActions.TLGoodDelete(data)#" + "</div>",
                },
            ],
            toolbar: "<div class='b-task'>" + "#=ProductActions.TLGoodButtonCatAdd()#" + "#=ProductActions.TLGoodButtonAdd()#" + "</div>",
        }).data("kendoTreeList");
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2017, 09:17
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

В консоли браузера вижу
Uncaught RangeError: Maximum call stack size exceeded
    at init._subtree (kendo.all.js:99660)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
    at init._subtree (kendo.all.js:99668)
Ответить с цитированием
  #3 (permalink)  
Старый 13.02.2017, 09:19
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Вот сам ajax метод:
Ajax2 = {
    executeAjaxRequest: function (data, callback) {
        console.log("Параметры запроса к API " + data.resource + ":");
        console.log(data);
        $.ajax({
            type: "POST",
            url: "/api/proxy",
            dataType: "json",
            contentType: "application/json",
            data: JSON.stringify(data),
            success: function (response) {
                console.log("Ответ от API " + data.resource + ":");
                console.log(response);
                callback.success(response);
            },
            error: function (status) {
                callback = [];
                alert("Ошибка при получении данных при запросе к " + data.resource + ":" + status.responseText);
            }
        });
    },
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2017, 09:23
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

В консоли вижу, что response получает нужный мне массив (id = 1, parentId =0, title ="Акция 1" и т.д.), но callback не получает эти данные, он пустой объект
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2017, 09:24
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Хотя ранее этот метод успешно использовал для kendo grid datasource
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2017, 10:32
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

У кого нибудь есть опыт работы с kendo treelist?
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2017, 10:33
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Возможно я неверно получаю данные с серверной части? Сейчас метод с сервера отдаёт всё сразу, может нужно только по id отдавать?
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2017, 11:48
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

ParentId верхнего уровня обязательно должен быть null?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема в работе с тегами html zeraid Общие вопросы Javascript 16 11.05.2011 18:23
Не совсем обычный фрейм и выезжающий текст при наводе на картинку. amaz245 Элементы интерфейса 35 25.12.2010 17:29