обработка нестандартной связи ext js grid-server - PullRequest
0 голосов
/ 18 февраля 2012

Сетка ext js (v4), которую я имею, получает коллекции записей json в любой момент времени, где у каждой записи есть тег, который сообщает сетке операцию, выполняемую вместе с другими атрибутами. Например, во входящей коллекции сетка может столкнуться со следующим (с идентификатором, являющимся ключом):

{"records":
   [{"id":"101", "name":"I'm new", "op":"create"},
    {"id":"102", "name":"I'm old", "op":"delete"}, 
    {"id":"103", "name":"I'm different", "op":"update"}]
}

Я пытаюсь написать код, чтобы указать сетке или хранилищу выполнять эти различные операции на моделях, но чтобы эта операция не выполнялась, а затем отправлять ее обратно на сервер (в конце концов, именно отсюда и появилась директива). Проще говоря, сетка клиента должна представлять то, что находится на сервере, где объекты могут появляться и исчезать.

Я посмотрел на читателей и писателей на наличие прокси или на наследование от самого прокси json и на изменение поведения чтения / записи, но кажется, что мне все равно нужно вызывать команды destroy / create / update для сами модели и затем как-то замыкают поведение модели, чтобы они не отправляли эту грубую операцию обратно на сервер. Однако ни один из этих вариантов не кажется правильным.

Есть ли в этом случае компонент ext-js, который я должен использовать вместо объектов proxy / read / write?

1 Ответ

2 голосов
/ 18 февраля 2012

Вы слишком обдумываете это.
Вам не нужно отправлять операции обратно в сетку.Если ваш сервер отправляет новый набор данных с отсутствующей записью (удаленной), он не будет отображаться в таблице.Если вы отправите измененный набор данных в сетку (запись), эти изменения просто появятся.А если вы добавите запись на стороне сервера и отправите набор в сетку - появится новая запись.

В основном, если ваша серверная сторона управляет всеми изменениями, вам не нужна конфигурация модуля записи, а просто сетка только для чтения.

...