[Devel-conf] alterator: удаление отмеченных объектов из таблицы
Stanislav Ievlev
=?iso-8859-1?q?stanislav=2Eievlev_=CE=C1_gmail=2Ecom?=
Чт Мар 20 20:48:11 MSK 2008
А ... точно, ну что ж остаётся тогда кодировать тип урлами как это
было в alterator-bind ... вообще хорошо бы где-нибудь на wiki
коллекционировать желания которые не удалось осуществить при помощи
alterator-fbi .
... я сделал такую коллекцию для бакендов - и уже начинает
вырисовываться план о том как это исправлять.
20.03.08, Vitaly Ostanin<vyt на altlinux.org> написал(а):
> Stanislav Ievlev пишет:
>
> > Я разобрался.
> >
> > Дополнительный параметр, добавленный в поле action формы приезжает не
> > просто отдельно, он приходит в команде, предназначенной для всего
> > модуля, а не отдельной строки.
> >
> > Тут вот какая проблема: динамическая таблица - это некий мозг,
> > обладающий любопытной фишкой: он на каждую строку таблицы умеет при
> > последующем submit сделать отдельную команду. Достигает он этого тем,
> > что при генерации таблицы особым образом подхакивает name у элементов
> > формы обнаруженных внутри таблицы. А значения всех полей вне таблицы
> > при этом же submit приезжают как обычно, для всей формы целиком.
> > Отсюда мораль - сейчас, алгоритм разделения пришедших к серверу
> > значений формы не может догадаться, что param3 относился не к общим
> > параметрам формы, а к каждой строчке таблицы. Знание об этом
> > нивелировал браузер пока формулировал ответ ;). action обрабатывается
> > особо - поэтому он и есть у каждой команды.
> >
> > Чтобы какое-то значение приезжало для каждой строчки таблицы - можно
> > запинуть его в hidden в строке (соотв. он размножится на всю таблицу),
> > а можно закодировать в урле ибо если форма имеет урл "/a", в таблице
> > в optionlist сказано '/b' (суффикс который добавляется к a, чтобы
> > сделать woo-list), то на каждую строку будет приходить команда с урлом
> > /a/b/<name>. И этот 'b' можно использовать как 'параметр'.
> > Второй способ применяется в alterator-bind.
>
>
> Сделал <input type="hidden" name="..."> рядом со <span
> type="alterator-label" name="..."/>. Вроде бы работает, как надо, но
> теперь action delete приходит для каждой строки таблицы, независимо
> от того, отмечена ли она. Для отмеченных выставляется
> params[delete]: #t, см. лог ниже.
>
> По-моему, раньше в бакенд передавались только отмеченные строки. Я,
> конечно, могу добавить проверку на params[delete], но другие модули
> сломаются. Или я что-то путаю?
>
> Стоит alterator-fbi из git (тот, что в Сизифе, неправильно передаёт
> url из динамической таблицы в бакенд).
>
> March 20 20:03:45 amanda: params[dumptype]: comp-root-tar
> March 20 20:03:45 amanda: params[action]: delete
> March 20 20:03:45 amanda: params[language]: ru_RU;en_US
> March 20 20:03:45 amanda: params[hostname]: localhost
> March 20 20:03:45 amanda: params[_objects]:
> DailySet1/disklist/localhost/etc
> March 20 20:03:45 amanda: params[diskname]: /etc
> March 20 20:03:45 amanda: ==========: ==========
> March 20 20:03:45 amanda: params[dumptype]: NO-COMPRESS
> March 20 20:03:45 amanda: params[action]: delete
> March 20 20:03:45 amanda: params[delete]: #t
> March 20 20:03:45 amanda: params[language]: ru_RU;en_US
> March 20 20:03:45 amanda: params[hostname]: localhost
> March 20 20:03:45 amanda: params[_objects]:
> DailySet1/disklist/localhost/tmp
> March 20 20:03:45 amanda: params[diskname]: /tmp
> March 20 20:03:45 amanda: ==========: ==========
> March 20 20:03:45 amanda: params[dumptype]: NO-COMPRESS
> March 20 20:03:45 amanda: params[action]: delete
> March 20 20:03:45 amanda: params[language]: ru_RU;en_US
> March 20 20:03:45 amanda: params[hostname]: localhost
> March 20 20:03:45 amanda: params[_objects]:
> DailySet1/disklist/localhost/usr
> March 20 20:03:45 amanda: params[diskname]: /usr
> March 20 20:03:45 amanda: ==========: ==========
> March 20 20:03:45 amanda: params[action]: delete
> March 20 20:03:45 amanda: params[language]: ru_RU;en_US
> March 20 20:03:45 amanda: params[type]: disklist
> March 20 20:03:45 amanda: params[_objects]: DailySet1
>
> <skipped/>
>
>
> --
>
> Regards, Vyt
> mailto: vyt на altlinux.org
> JID: vitaly.ostanin на gmail.com
>
>
> _______________________________________________
> devel-conf mailing list
> devel-conf на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-conf
>
>
Подробная информация о списке рассылки devel-conf