Since 5.0
Компонент Hint не включен библиотеку, и хранится по адресу https://github.com/webix-hub/hint-component
Webix Hint служит для отображения подсказок. Компонент предназначен помогать новым пользователям знакомиться с сайтом или приложением, что особенно полезно если функционал сложный.
Для инициализации Hint выполните следующие шаги:
webix.ui({
view: "hint",
id: "hint",
steps: [
{
el: ".div1",
title: "Welcome to Booking App!",
text: "Click here to check out regular flights",
event:"click"
},
{
el: ".div2",
title: "Get Flights Info in a Click!",
text: "Click here to take a look at all flights info",
event:"click"
},
{
el: "$accordionitem1",
eventEl: "button",
title: "Book Flight Tickets",
text: "Fill in the form and press 'enter' to book your flight",
event:"enter"
}
]
});
$$("hint").start();
Пример по теме: Hint initialization
Каждый объект должен содержать обязательное свойство el, а также может включать несколько необязательных свойств.
Понять разницу между свойствами el и eventEl можно на примере. Предположим в момент появления определенной подсказки вы хотите подсветить форму, в то время как пользователь будет взаимодействовать только с определенным контролом этой формы. В таком случае для формы вы задаете свойство el, а для контрола свойство eventEl.
0
;Пример по теме: Hint basic usage
По умолчанию каждое окно с подсказками содержит две кнопки для навигации, а именно кнопки для перехода к следующей/предыдущей подсказке. Конфигурация этих кнопок устанавливается через соответствующие атрибуты:
nextButton - (boolean/string) используется для настройки положения кнопки Next (boolean) или установки для нее ярлыка (string).
Значение свойства по умолчанию true
. Ярлык по умолчанию - "Next", для последней подсказки - "End Tour".
prevButton - (boolean/string) используется для настройки положения кнопки Previous (boolean) или установки для нее ярлыка (string).
Значение свойства по умолчанию true
. Ярлык по умолчанию - "Previous".
webix.ui({
view: "hint",
id: "hint",
steps: [
{
el: ".div1",
title: "Welcome to Booking App!",
text: "Click here to check out regular flights",
event:"click"
},
{
el: ".div2",
title: "Get Flights Info in a Click!",
text: "Click here to take a look at all flights info",
event:"click"
}
],
nextButton: "Show next", // новый заголовок кнопки
prevButton: false // кнопка "Previous" не будет отображена
});
Первая подсказка содержит только кнопку Next.
Компонент Hint создан на основе webix.view, поэтому наследует некоторыего его методы.
Например, чтобы отобразить Hint на странице, используется метод show.
$$("hint").show();
Если вы хотите скрыть подсказку, примените метод hide.
$$("hint").hide();
Метод start позволяет:
$$("hint").start();
Также существует возможность прекратить показ подсказок на любом шаге с помощью метода end:
$$("hint").end();
Вы можете получить список текущих подсказок с помощью метода getSteps. Он возвращает массив объектов с настройками для каждой подсказки.
var steps = $$("hint").getSteps();
Метод setSteps позволяет задавать свой набор настроек для компонента Hint. Для этого нужно передать методу массив объектов в качестве параметра.
Код ниже определяет внешний вид одной из подсказок:
$$("hint").setSteps(
[
{
el: ".div1",
title: "Welcome to Booking App!",
text: "Click here to check out regular flights. Click the tab to proceed",
event:"click"
}
]
);
Вы можете получить номер текущей подсказки с помощью метода getCurrentStep:
var step = $$("hint").getCurrentStep();
Обратите внимание что нумерация подсказок начинается с 1.
Webix Hint API позволяет возобновлять показ подсказок с нужного шага. Для этого передайте номер подсказки с которой нужно возобновить показ методу resume:
webix.ui({
view: "hint",
id: "hint",
on: {
onEnd: function(step) {
$$("hint").resume(2); // показ возобновиться со второй подсказки
}
},
steps:[
{
el: ".div1",
title: "Welcome to Booking App!",
text: "Click here to check out regular flights",
event:"click"
},
{
el: ".div2",
title: "Get Flights Info in a Click!",
text: "Click here to take a look at all flights info",
event:"click"
}
]
});
Если вы опустите параметр, показ подсказок возобновится начиная с самой первой.
Если вам нужно загрузить часть большого набора данных или при переходе к следующей подсказке переходить на другую страницу, удобно возвращать промис данных. Это позволит избежать ошибок если нужный фрагмент данных еще не был загружен.
Рассмотрим на примере таблицу с пейджингом и подсказками, каждый переход на новую подсказку должен провоцировать подгрузку следующей страницы таблицы:
{
el: "masterPager1",
eventEl: "button",
title: "Datatable can be used with a pager",
text: "Please click the second button to open page number two",
padding: 10,
event: "click",
next: function() {
return $$("mytable").waitData;
}
}
Как видите, мы задали свойство next в конфигурации step. Параметр свойства - это функция, которая возвращает промис для следующей порции данных. Т.о. после того как пользователь нажмет следующую кнопку индикатора пейджинга, отобразится другая страница таблицы.
Чтобы событие срабатывала при возвращении на предыдущий шаг, используйте свойство previous.
Hint основан на webix.EventSystem, поэтому для обработки событий вы можете использовать свойство on.
Допустим вам нужно создать зацикленную последовательность подсказок. То есть после того, как пользователь просмотрит последнюю подсказку (onEnd), вся последовательность начнется с начала, (если только пользователь не выйдет из режима подсказок).
Для этих целей используется метод resume без параметра:
webix.ui({
view: "hint",
id: "hint",
on: {
onEnd: function(step) {
$$("mytable").getPager().select(0);
$$("hint").resume();
}
},
steps:[
{
el: ".div1",
title: "Welcome to Booking App!",
text: "Click here to check out regular flights",
event:"click"
},
{
el: ".div2",
title: "Get Flights Info in a Click!",
text: "Click here to take a look at all flights info",
event:"click"
}
]
});
Пример по теме: Hint basic usage
В коде выше мы использовали событие onEnd.Оно вызывается после того, как пользователь просмотрит последнюю подсказку и обработчик примет номер подсказки в качестве параметра. Внутри функции-обработчика мы указали, что после последней подсказки цикл начинается с первой страницы таблицы данных и показ подсказок возобновляется с самого начала.
Ниже представлен список доступных событий:
Webix Hint можно локализовать в соответствии с правилами языка и особенностями культуры.
Папка /codebase/i18n
содержит локали для 10 языков, по умолчанию библиотека использует "en-US". Локаль для компонента Hint содержит следующий набор с названиями кнопок:
webix.i18n.hint = {
next: "Next",
prev: "Previous",
last: "End Tour"
}
Чтобы применить другой язык, вызовите метод setLocale, указав название локали в качестве параметра:
webix.i18n.setLocale("be-BY");
Наверх