logo

[ELMA3] Всплывающие подсказки

Для создания подсказок используется: http://craigsworks.com/projects/qtip/. Всплывающая подсказка состоит из 2-х частей: заголовок и текст. Для того чтобы подсказка сформировалась достаточно задать только текст. Есть несколько способов навешивания всплывающий подсказки на HTML элемент.

Меню

Добавлены 2 свойства для у ActionToolbarItem: ToolTipHeader и ToolTip. Задать их можно как напрямую, так и с помощью билдера.

@(Html.Toolbar().Group().ToolbarButton(new ActionToolbarItem(Html.GenerateName())
{
Text = SR.T("Отправить"),
IconUrl = "#x24/run_doc.gif",
ToolTipHeader = SR.T("Отправка"),
ToolTip = SR.T("Работа с документами"),
Items =
{
new ActionToolbarItem(Html.GenerateName())
{
Text = SR.T("Отправить на согласование"),
ToolTip = SR.T("Отправить на согласование. Исполнители должны высказать свое согласие или несогласие с содержанием документа") 
},
new ActionToolbarItem(Html.GenerateName())
{
Text = SR.T("Отправить на ознакомление"),
ToolTip = SR.T("Отправить на ознакомление. Исполнители должны подтвердить прочтение документа") 
}
} 
})
)
@(Html.Toolbar().Group().Buttons(b =>
{
b.ContentAction(ContentActionProvider.CreateDocument)
.ToolTipHeader(SR.T("Создание нового документа"))
.ToolTip(SR.T("Создает документ в текущей папке"));
b.ContentAction(ContentActionProvider.CreateFolder)
.ToolTipHeader(SR.T("Создание папки"))
.ToolTip(SR.T("Создает новую папку в текущей"))
.IconUrl(Url.Image("#x24/folders.gif"))
.Text(SR.T("Папка"))
.Buttons(bi => bi.ContentAction(ContentActionProvider.CreateFolder));
}))

HTML атрибуты

Для формирования подсказки используется 2 атрибута: tooltipheader - заголовок и tooltiptext - текст подсказки. Для примера:

@Html.ImageButton("#x16/place_add.gif", "", Html.OpenPopup("AddNomenclaturePopup").ToString(), anchorHtmlAttributes: new { @class = "tree-item-button", tooltipheader = SR.T("Добавить место регистрации"), tooltiptext = SR.T("Создать новое место регистрации или выбрать существующее") })
@Html.ImageButton("#x16/nomen_add.gif", "", string.Format("OpenDepositoryGroupPopup(0, {0});", (object)item.Value), anchorHtmlAttributes: new { @class = "tree-item-button", tooltipheader = SR.T("Добавить раздел в номенклатуру"), tooltiptext = SR.T("Перейти к созданию нового раздела в номенклатуре") })
@Html.ImageButton("#x16/delo_add.gif", "", string.Format("OpenDepositoryPopup(0, {0});", (object)item.Value), anchorHtmlAttributes: new { @class = "tree-item-button", tooltipheader = SR.T("Добавить дело в номенклатуру"), tooltiptext = SR.T("Перейти к созданию нового дела в номенклатуре") })
@Html.ImageButton("#x16/delo_add_link.gif", "", string.Format("OpenDepositoryLinkPopup(0, {0});", (object)item.Value), anchorHtmlAttributes: new { @class = "tree-item-button", tooltipheader = SR.T("Добавить ссылку на дело"), tooltiptext = SR.T("Перейти к созданию ссылку на выбранное дело") })
@if (item.TypeUid != InterfaceActivator.UID(typeof(IRegistrationPlaceItem))) {
@Html.ImageButton("#x16/edit.gif", "", string.Format("EditObject({0})", (object)item.Value), anchorHtmlAttributes: new { @class = "tree-item-button", tooltiptext = SR.T("Изменить") })
@Html.ImageButton("#x16/delete.gif", "", string.Format("DeleteRepositoryGroup({0})", (object)item.Value), anchorHtmlAttributes: new { @class = "tree-item-button", tooltiptext = SR.T("Удалить") })
}

Скриптом

Для формирования скрипта сделан билдер Html.Tooltip("selector"). В качестве селектора используется jquery-селектор. У билдера 2 метода Header("text") и Text("text"), для задания заголовка и текста всплывающей подсказки.

$(document).ready(function() {
@(Html.Tooltip("#elementid").Header(SR.T("Заголовок")).Text(SR.T("Текст всплывающей подсказки")).Script())
});