{ block: 'i-jquery' } | Используется для поставки на страницу нужных плагинов через зависимости блоков от элементов блока i-jquery. Блок i-jquery помогает подключить jQuery на страницу и упорядочивает хранение js-кода плагинов. На уровне blocks-common блок i-jquery состоит из нескольких элементов, которые содержат плагины к jQuery. Декларация этих элементов обеспечивает подключение этих плагинов в страничный JS. На уровне blocks-desktop есть дополнительный элемент core. Таким образом, для того, чтобы поддерживаемая версия jQuery оказалась на страницах, нужно использовать такой BEMJSON: ({ block: 'b-page', title: 'Страница про ссылку', head: [ ... { block: 'i-jquery', elem: 'core' }, ... ], Этот шаблон не продуцирует DOM-представление элемента. Он декларирует использование на странице элемента js, блока b-page, подключающего js с jQuery. Если мы решим перейти на новую версию библиотеки, просто изменим этот шаблон. И тогда у всех проектов, подключавших jQuery не вручную, а через блок i-jquery, своевременно изменится версия. Можно перезаписать этот базовый шаблон BEMHTML шаблоном на своём уровне переопределения (для всего проекта или только для некоторых страниц). В этом случае, используя те же самые входные данные, можно получать более подходящий проекту результат. В директории элемента core в виде кода модификаторов элемента размещены совместимые с библиотекой версии jQuery в минимизированном состоянии. При помощи переопределения BEMHTML шаблона такими файлами можно пользоваться для оффлайн-разработки: block i-jquery, elem core, default: { local( this._mode = '', this.ctx = { block: 'b-page', elem: 'js', url: '/bem-bl/blocks-desktop/i-jquery/__core/_version/i-jquery__core_version_1.6.2.js' } ) this.apply() } |
_dummy |
_dummy_no | Полноценная копия настоящего jQuery |
{ mods: { 'dummy': 'no' } } |
_dummy_yes | Необходимый минимум для работы кода, зависящего от jQuery вне браузера (например в NodeJS) |
{ mods: { 'dummy': 'yes' } } |
__cookie | |
{ elem: 'cookie' } |
__debounce | Debounce and throttle function's decorator plugin 1.0.6 |
{ elem: 'debounce' } |
__decodeuri | Плагин для декодирования URI-escaped строки в CP1251 |
{ elem: 'decodeuri' } |
__identify | Плагин для уникализации и идентификации объектов |
{ elem: 'identify' } |
__inherit | Плагин для наследования |
{ elem: 'inherit' } |
__is-empty-object | Плагин, реализующий $.isEmptyObject для jQuery < 1.4 |
{ elem: 'is-empty-object' } |
__leftclick | Плагин, позволяющий навешивать обработчики событий на нажатие только левой клавиши манипулятора типа мышь |
{ elem: 'leftclick' } |
__observable | Плагин, реализующий событийную модель для произвольных объектов |
{ elem: 'observable' } |
__core | Элемент, подключающий библиотеку jQuery к странице |
{ elem: 'core' } |