[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