Привет. В английском не силен, и дабы изложить суть вопроса наиболее точно, буду пользоваться русским языком.
Делаю динамическую загрузку в dataview. На клиенте у меня следующая ситуация:
datafetch:3 и $$('dataviewCentral_Users').loadNext(4, 0, null);
т.е. предполагается подгрузка 4 элементов, начиная с 0 позиции и 4 элемента первоначально.
На сервере ситуация такова:
первая порция данных отдается по такой схеме { total_count: 7, data:[{…},{…},{…},{…}]}, т.е. совокупное количество элементов в массиве и 4 элемента первоначально запрошенных.
вторая порция отдает данные по такой схеме { data:[{…},{…},{…}] }, т.е. отдается остаток данных.
По идее весь массив из 7 элементов отдан в 2 приема, но… всплывает 2 проблемы:
отображается dataview таким образом 4 моих элемента, 3 элемента с надписью loading…, 3 моих элемента.
и вторая проблем webix не останавливается и продолжает опрашивать сервер на вторую порцию данных.
Углубившись в ваш код прихожу к пониманию, что при исполнении функции _parse у webix.DataStore происходит вызов вот этой функции var info = this.driver.getInfo(data); где извлекается информация о загружаемом массиве данных. Так вот, если там нет значения в атрибуте pos, то в функции _inner_parse вместо значения этого атрибута подставляется первоначально переданная размерность массива…
Как решение использую передачу следующей позиции при выдачи данных с сервера, т.е. { pos:4, data:[{…},{…},{…}] }, верно ли это решение?