Добавим события (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 в описании кнопок.

