Добавим события (event) для кнопок, описанных в модуле webtext/buttons.py:
def dirbuttons(context, main=None, add=None, filterinfo=None, session=None, elementId=None): buttonstyle = "blue" # Описание кнопки "Добавить" addButton = {"div":{"@class": "newbutton highbutton", "span": {"@class": "blue xforms-trigger", "span": {"@class": "value", "button": {"@style": "width: 135px; text-align: center", "@onclick": "gwtWebTextFunc('%s','1');" % elementId, "span": {"@class": "xforms-label", "#text": "Добавить" } } } } } } # Описание кнопки "Редактировать" editButton = {"div":{"@class": "newbutton highbutton", "span": {"@class": buttonstyle + ' xforms-trigger', "span": {"@class": "value", "button": {"@style": "width: 135px; text-align: center", "@onclick": "gwtWebTextFunc('%s','2');" % elementId, "span": {"@class": "xforms-label", "#text": "Редактировать" } } } } } } # Описание кнопки "Удалить" delButton = {"div":{"@class": "newbutton highbutton", "span": {"@class": buttonstyle + ' xforms-trigger', "span": {"@class": "value", "button": {"@style": "width: 135px; text-align: center", "@onclick": "var answer=confirm(''Вы действительно хотите удалить запись?''); if (answer) gwtWebTextFunc('%s','3');" % elementId, "span": {"@class": "xforms-label", "#text": "Удалить" } } } } } } # Разметка кнопок data = {"div": {"table": {"@cellpadding": "0px", "@cellspacing": "1px", "tr":{"td": [addButton, editButton, delButton ] } } } } addButtonSettings = { "@name": "single_click", "@linkId": "1", "action": "" } editButtonSettings = { "@name": "single_click", "@linkId": "2", "action": "" } delButtonSettings = { "@name": "single_click", "@linkId": "3", "action": "" } settings = { "properties": {"event": [ addButtonSettings, editButtonSettings, delButtonSettings]} } return JythonDTO(XMLJSONConverter(input=data).parse(), XMLJSONConverter(input=settings).parse())
События, описанные в приведённом листинге не выполняют никаких действий. Обратите внимание на значения атрибута @linkId и параметры атрибута @onclick в описании кнопок.