Moving

Moving

Класс управления панелью

Constructor

new Moving(mainDiv, startScreen)

Parameters:
Name Type Description
mainDiv JQuery

элемент, в котором располагается панель. Должен содержать класс rb-wrapper.

startScreen ScreenModel

стартовая модель контента

Source:

Members

afterRenderDispatcher

Диспетчер, выполняющий зарегистрированные функции после рендеринга контента моделей на странице после перехода Функциям в аргументы передается side и instance текущей панели.

Source:

beforeMoveDispatcher

Диспетчер, выполняющий зарегистрированные функции до выполнения перехода к новой ячейке в панели Функциям в аргументы передается side, instance текущей панели и флаг isWrongStep - удачный переход или нет. Если флаг равен null, то осуществляется moveBack. Функция может вернуть флаг или Promise. Если флаг равен false или Promise возвращает false, то переход не будет осуществлен.

Source:

beforeRenderDispatcher

Диспетчер, выполняющий зарегистрированные функции до рендеринга контента моделей на странице после перехода. Функциям в аргументы передается side и instance текущей панели.

Source:

Methods

activate()

Активировать панель. Переводит фокус на панель, и, как следствие, панель ловит все события нажатия клавиш.

Source:

addPlugin(plugin)

Добавить плагин, расширяющий функционал панели, к общему списку плагинов.

Parameters:
Name Type Description
plugin IPlugin

добавляемый плагин

Source:

animateWrongSide(side) → {Promise}

Анимировать запрещенное перемещение в одну из сторон. В панели в эту сторону перемещение может быть запрещено, но будет анимировано, будто запрещено.

Parameters:
Name Type Description
side string

сторона, в которую осуществляется переход

Source:
Returns:

promise о завершении действия

Type
Promise

configure(config)

Применить конфигурацию к панели

Parameters:
Name Type Description
config Moving~config

конфигурация

Source:

destroy()

Уничтожить панель

Source:

getControlManager() → {ControlManager}

Получить менеджер управления

Source:
Returns:

ControlManager

Type
ControlManager

getScreenManager() → {ScreenManager}

Получить менеджер моделей контента

Source:
Returns:

ScreenManager

Type
ScreenManager

goToScreen(toScreen) → {Promise}

Находит кратчайший путь до указанной модели и пошагово переходит от текущей ячейки к той ячейке, в которой располагается найденная модель.

Parameters:
Name Type Description
toScreen ScreenModel

Искомая модель контента

Source:
Returns:

promise о завершении переходов к намеченной цели

Type
Promise

move(side, isSaveHistoryopt) → {Promise|undefined}

Осуществить переход в указанную сторону.

Parameters:
Name Type Attributes Default Description
side string

сторона, в которую осуществляется переход

isSaveHistory Boolean <optional>
true

сохранять ли осуществляемый переход в историю переходов

Source:
Returns:

promise о завершении действия, либо undefined, если переход не требуется

Type
Promise | undefined

moveBack() → {Promise|undefined}

Осуществить откат последнего удачного хода, воспользовавшись историей переходов.

Source:
Returns:

promise о завершении действия, либо undefined, если переход не требуется

Type
Promise | undefined

reload()

Перезагрузить все панели на странице. Перезагрузка предполагает обновление верстки ячейки панели, сброс состояния в верстке. Если в элементах верстки есть подписки, необходимо позаботиться об отписке и последующей подписке к новым элементам верстки.

Properties:
Name Type Description
side string

сторона, с которой будет перезагружаться ячейка панели относительно текущей ячейки.

Source:

removePlugin(plugin)

Удалить плагин из общего списка плагинов

Parameters:
Name Type Description
plugin IPlugin

удаляемый плагин

Source:

resetConfig()

Сбросить конфигурацию панели к значению по умолчанию (какое именно - см. в коде).

Source:

setScreen(screen, isSaveHistoryopt) → {Promise}

Установить модель контента в текущую ячейку панели.

Parameters:
Name Type Attributes Description
screen ScreenModel

Устанавливаемая модель контента

isSaveHistory Boolean <optional>

Сохранять ли устанавливаемую модель в историю переходов

Source:
Returns:

promise о завершении установки модели

Type
Promise

Type Definitions

config

Конфигурация панели

Type:
  • Object
Properties:
Name Type Attributes Description
wrongTime1 number <optional>

Время, затрачиваемое на первую часть неудачного перехода

wrongTime2 number <optional>

Время, затрачиваемое на вторую часть неудачного перехода

correctTime number <optional>

Время, затрачиваемое на удачный переход

wrongEasing1 string <optional>

Анимация первой части неудачного перехода.
jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/

wrongEasing2 string <optional>

Анимация второй части неудачного перехода.
jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/

correctEasing string <optional>

Анимация удачного перехода.
jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/

hideArrowsAfterTime boolean <optional>

Скрывать ли стрелки перемещения после некоторого времени, чтобы можно было нажимать на элементы, которые находятся под этими стрелками.

hideArrowsTime number <optional>

Через какой промежуток времени скрывать стрелки перемещения

showArrowsOutside boolean <optional>

Показывать ли стрелки перемещения снаружи от панели (иначе показывать внутри панели)

showArrowsOnHover boolean <optional>

Показывать ли стрелки при наведении мыши (иначе показывать всегда)

loadingHtml string | null <optional>

Верстка ожидания, показываемая во время, пока контент еще не был вставлен в панель

leftKey string | number | Array.<(string|number)> <optional>

Клавиши, при нажатии на которые будет сделан переход влево. Могут использоваться строковые или числовые нотации клавиш.
http://www.javascripter.net/faq/keycodes.htm
https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

topKey string | number | Array.<(string|number)> <optional>

Клавиши, при нажатии на которые будет сделан переход вверх.

rightKey string | number | Array.<(string|number)> <optional>

Клавиши, при нажатии на которые будет сделан переход вправо.

bottomKey string | number | Array.<(string|number)> <optional>

Клавиши, при нажатии на которые будет сделан переход вниз.

maxHistoryLength number <optional>

Максимальная длина хранимой истории удачных переходов.

lockControls boolean <optional>

Заблокированы ли элементы управления переходами, пока происходит анимация перехода (любые способы управления).

showAdjacentScreens boolean <optional>

Отображать ли старую ячейку при анимации перехода на новую ячейку панели.

saveHistoryInPool boolean <optional>

Хранить ли верстку ячеек панели, которые хранятся в истории переходов.

pointersForSwipe number <optional>

Количество пальцев, необходимых для свайпа при переходе на новую ячейку на мобильных устройствах.

isDirectPath boolean <optional>

Использовать ли при поиске кратчайшего пути до указанной модели только переходы от потомков к предкам и от предков к потомкам (иначе переходы по массивам предков и по массивам потомков тоже будут считаться отдельными переходами)

savePrevious boolean <optional>

сохранять ли предков (если шаг в сторону потомка) и потомков (если шаг в сторону предка), с которых был сделан переход, чтобы в дальнейшем вернутся в них при переходе обратно с ячейки, в которую был сделан переход.

cyclicStep boolean <optional>

делать ли цикличный переход в контексте массива моделей, в котором будет искаться новая модель.

getRight Moving~getRight <optional>

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход вправо

getLeft Moving~getLeft <optional>

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход влево

getTop Moving~getTop <optional>

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход вверх

getBottom Moving~getBottom <optional>

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход вниз

Source:

getBottom(screen, cyclicStep)

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход вниз, то есть в сторону соседа снизу. По умолчанию смотрит, осуществлялись ли переходы влево-вправо, если последним таким был переход вправо, то берется модель, из которой был сделан шаг вправо и в контексте ее потомков от текущего потомка будет найден следующий потомок и возвращен в качестве результата. Если при этом стоит опция cyclicStep = true, то в случае самого нижнего потомка следующим будет возвращен самый верхний потомок. Если последним был переход влево, то берется модель, из которой был сделан шаг влево и в контексте ее предков от текущего предка будет найден следующий предок и возвращен в качестве результата. Если при этом стоит опция cyclicStep = true, то в случае самого нижнего предка следующим будет возвращен самый верхний предок. А если переходов влево-вправо не было, будет считаться, будто бы был сделан переход вправо, а если и это не помогло, будет считаться, будто был сделан переход влево. Если у модели нет предков, следующая модель не будет найдена.

Parameters:
Name Type Description
screen ScreenModel

текущая модель контента панели

cyclicStep boolean

делать ли цикличный переход в контексте массива моделей, в котором будет искаться новая модель.

Source:

getLeft(screen)

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход влево, то есть в сторону предка. По умолчанию берет опцию defaultParentIndex у экземпляра ScreenModel и ищет предка модели с этим индексом.

Parameters:
Name Type Description
screen ScreenModel

текущая модель контента панели

Source:

getRight(screen)

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход вправо, то есть в сторону потомка. По умолчанию берет опцию defaultChildIndex у экземпляра ScreenModel и ищет потомка модели с этим индексом.

Parameters:
Name Type Description
screen ScreenModel

текущая модель контента панели

Source:

getTop(screen, cyclicStep)

Функция, задающая алгоритм поиска ячейки, в которую должен быть осуществлен переход вверх, то есть в сторону соседа сверху. По умолчанию смотрит, осуществлялись ли переходы влево-вправо, если последним таким был переход вправо, то берется модель, из которой был сделан шаг вправо и в контексте ее потомков от текущего потомка будет найден предыдущий потомок и возвращен в качестве результата. Если при этом стоит опция cyclicStep = true, то в случае самого верхнего потомка следующим будет возвращен самый нижний потомок. Если последним был переход влево, то берется модель, из которой был сделан шаг влево и в контексте ее предков от текущего предка будет найден предыдущий предок и возвращен в качестве результата. Если при этом стоит опция cyclicStep = true, то в случае самого верхнего предка следующим будет возвращен самый нижний предок. А если переходов влево-вправо не было, будет считаться, будто бы был сделан переход вправо, а если и это не помогло, будет считаться, будто был сделан переход влево. Если у модели нет предков, следующая модель не будет найдена.

Parameters:
Name Type Description
screen ScreenModel

текущая модель контента панели

cyclicStep boolean

делать ли цикличный переход в контексте массива моделей, в котором будет искаться новая модель.

Source: