Обновление / изменение объекта, полученного из хранилища данных dojo / JsonRestStore - PullRequest
0 голосов
/ 22 марта 2012

Я использую DOJO JsonRestStore. Я изменяю поля в объекте.

Какова будет правильная процедура для сохранения измененного объекта обратно в хранилище данных и службу REST?

Обновление: удалена информация о сетке, поскольку она не была частью проблемы.

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Очевидно, я предполагал, что возвращенный элемент будет синхронизирован с хранилищем данных. Это не выглядит так и должно быть обновлено вручную, используя:

store.setValue(item, field, value);

Я также надеялся на команду, эквивалентную слиянию JPA. Если вы перезаписали предыдущий объект с помощью:

store.newItem( updatedVersionOfItem );

и элемент имеет тот же уникальный идентификатор, он перезапишет старый элемент, похожий на слияние.

Кто-нибудь знает, существует ли какая-то фабрика, которая будет создавать методы получения и установки для элемента, который будет вызывать store.setValue () для каждого поля?

Я предполагаю, что это будет что-то вроде следующего:

var wrappedItem = itemWrapperFactory.createWrapper( item, store );
...
//Some where in createWrapper(...), this is just the concept
for (var itemField in itemFieldList)
this.__defineGetter__( itemField[index] , function(val){
    store.setValue(item, itemField[index], val);      
});

Я собираюсь написать свой собственный, как аккуратный образец архитектуры.

1 голос
/ 22 марта 2012

Как правило, store.save () должно быть достаточно ... Если нет, это означает, что у вас проблема между сеткой и магазином.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...