{"action":"created","comment":{"url":"https://api.github.com/repos/bem/bem-core/pulls/comments/34980718","id":34980718,"diff_hunk":"@@ -0,0 +1,398 @@\n+<a name=\"events\"></a>\n+## События\n+\n+В `i-bem.js` поддерживается два вида событий:\n+\n+* **DOM-события** — jQuery-события на DOM-узле, связанном с\n+блоком. Отражает взаимодействие пользователя с интерфейсом (клик,\n+наведение мыши, ввод текста и т.п.). DOM-события обычно обрабатывает\n+тот экземпляр блока, на DOM-узлах которого они возникают.\n+* **БЭМ-события** — собственные события, генерируемые\n+блоком. Позволяет организовать API для\n+[взаимодействия с блоком][interact]. БЭМ-события обычно обрабатывает\n+экземпляр блока, отслеживающий состояние других блоков, на которых\n+генерируются события.\n+\n+DOM-события следует использовать только во *внутренних* процедурах блока. Для\n+взаимодействия блока с *внешней* средой (другими блоками), предназначены БЭМ-события.\n+\n+<a name=\"delegated-events\"></a>\n+### Делегирование событий\n+\n+Обработка БЭМ- и DOM-событий может быть **делегирована** контейнеру\n+(всему документу или конкретному DOM-узлу). В этом случае контейнер\n+служит точкой обработки событий, возникающих на любом из его\n+дочерних узлов, даже если в момент подписки на события\n+некоторых из дочерних узлов еще не существовало.\n+\n+Например, блок меню может содержать вложенные блоки, пункты меню. Обработку\n+кликов на пунктах меню имеет смысл делегировать самому блоку\n+меню. Это, во-первых, позволяет сэкономить затраты ресурсов на\n+подписку на события (дешевле подписаться на одно событие контейнера,\n+чем на много событий элементов). Во-вторых, дает возможность добавлять и удалять пункты меню, не подписываясь на события добавленных пунктов и не отписываясь от событий удаленных.\n+\n+Возможно делегировать как БЭМ, так и DOM-события.\n+\n+<a name=\"dom-events\"></a>\n+### DOM-события\n+\n+Работа с DOM-событиями в `i-bem.js` полностью реализована средствами фреймворка jQuery.\n+\n+#### Подписка на DOM-событие\n+\n+У объекта экземпляра блока зарезервирован набор методов для подписки на DOM-события:\n+\n+* `bindTo([elem], event, handler)` — на события основного DOM-узла блока и DOM-узлов его элементов.\n+* `bindToDoc(event, [data], handler)` – на события DOM-узла `document`.\n+* `bindToWin(event, [data], handler)` – на события DOM-узла `window`.\n+\n+**Пример:** В момент [инициализации экземпляра блока][init]\n+`my-block` выполняется подписка на событие `click`, при наступлении\n+которого блок выставляет себе [модификатор][states] `size` в значение `big`.\n+\n+```js\n+BEMDOM.decl('my-block', {\n+    onSetMod : {\n+        'js' : {\n+            'inited': function() {\n+                this.bindTo('click', function(e) {\n+                    this.setMod('size', 'big');\n+                });\n+            }\n+        }\n+    }\n+});\n+```\n+\n+\n+**Пример:** При [инициализации экземпляра блока][init] `my-form` выполняется\n+подписка на событие `click` элемента `submit`, при наступлении\n+которого будет вызван метод экземпляра блока `_onSubmit`.\n+\n+```js\n+BEMDOM.decl('my-block', {\n+    onSetMod : {\n+        'js' : {\n+            'inited': function() {\n+                this.bindTo('submit', 'click', this._onSubmit);\n+            }\n+        }\n+    },\n+\n+    _onSubmit : function() { /* ... */ }\n+});\n+```\n+\n+\n+***\n+\n+**NB** Функция-обработчик выполняется в контексте того экземпляра\n+блока, в котором возникло событие.\n+\n+***\n+\n+#### Удаление подписки на DOM-событие\n+\n+Удаление подписки на DOM-события выполняется автоматически при уничтожении экземпляра блока. Тем не менее, у объекта экземпляра блока зарезервирован набор методов для удаления подписки вручную во время работы блока:\n+\n+* `unbindFrom([elem], event, [handler])` — от событий основного DOM-узла блока и DOM-узлов его элементов.\n+* `unbindFromDoc(event, [handler])` – от событий DOM-узла `document`.\n+* `unbindFromWin(event, [handler])` – от событий DOM-узла `window`.\n+\n+Если при вызове одного из методов не указана функция-обработчик, будут удалены все обработчики, установленные блоком на DOM-узле для этого события.\n+\n+```js\n+_stopKeysListening : function() { \n+    this.unbindFromDoc('keydown'); // удаляем все обработчики события 'keydown' установленные блоком DOM-узлу document\n+} \n+```\n+\n+\n+#### Объект DOM-события\n+Первым аргументом функция-обработчик получает jQuery-объект DOM-события — [`{jQuery.Event}`](https://api.jquery.com/category/events/event-object/).\n+\n+Это позволяет использовать методы объекта такие, как `stopPropаgation` и `preventDefault`, для управления распространением события и его обработкой браузером.\n+\n+```js\n+BEMDOM.decl('my-block', {\n+    onSetMod : {\n+        'js' : {\n+            'inited': function() {\n+                this.bindTo('click', function(e) {\n+                    e.stopPropаgation(); // останавливаем всплытие события\n+                    this._onSubmit();\n+                });\n+            }\n+        }\n+    },\n+\n+    _onSubmit : function() {\n+        /* ... */\n+    }\n+});\n+```\n+\n+\n+Если DOM-событие было сгенерировано вручную, все параметры, переданные jQuery-функции `trigger` при создании события, будут переданы функции-обработчику в том же порядке после объекта события.\n+\n+**N.B.** Параметры окружения и поведение функции-обработчика события идентичны [функции-обработчику](http://api.jquery.com/on/#event-handler) jQuery.\n+\n+<a name=\"dom-events-delegated\"></a>\n+#### Делегирование DOM-событий\n+\n+Делегировать обработку DOM-событий рекомендуется с помощью метода `liveBindTo([elem], event, handler)`. В статических методах декларации блока зарезервированно свойство `live` для подписки на делегированные DOM-события.\n+\n+**Пример:** Все экземпляры блока `menu` подписываются на делегированное DOM-событие `click` своих элементов `item`. Метод `_onItemClick` экземпляра блока `menu` будет выполняться при клике на любой элемент `item` в меню. Не важно, существовал ли этот элемент в момент инициализации экземпляра.\n+\n+```js\n+BEMDOM.decl('menu', {\n+    _onItemClick : function(e) { /* ... */ }\n+}, {\n+    live : function() {\n+        this.liveBindTo('item', 'click', function(e) {\n+            this._onItemClick(e);\n+        });\n+    }\n+});\n+```\n+\n+\n+Если в декларации блока задано свойство `live`, инициализация экземпляров блока будет *отложена* до момента, когда экземпляр блока потребуется в работе ([ленивая инициализация][init-live]). Таким моментом может стать DOM-событие на экземпляре блока, на которое выполнена делегированная подписка, или обращение к экземпляру блока [из другого блока][interact].\n+\n+***\n+\n+**NB** Функция-обработчик выполняется в контексте ближайшего блока данного типа на пути всплывания DOM-события (снизу вверх по DOM-дереву).\n+\n+***\n+\n+Чтобы воспользоваться делегированными событиями в блоке не откладывая инициализацию, следует вернуть `false`:\n+\n+```js\n+modules.define('my-block', ['i-bem__dom'], function(provide, BEMDOM) {\n+\n+provide(BEMDOM.decl(this.name,\n+    {\n+        _onClick: function() { /* ... */ } // будет выполняться каждый\n+    },\n+    {\n+        live: function() {\n+            this.liveBindTo('click', function() { this._onClick() });\n+            return false; // экземпляры блоков будут инициализированы автоматически\n+        }\n+    }\n+));\n+\n+});\n+```\n+\n+\n+<a name=\"bem-events\"></a>\n+### БЭМ-события\n+\n+В отличие от DOM-событий, БЭМ-события генерируются не на DOM-элементах, а на **экземплярах блоков**. Элементы блоков не могут генерировать БЭМ-события.\n+\n+<a name=\"bem-events-subscribe\"></a>\n+#### Генерация БЭМ-события\n+\n+Для генерации БЭМ-события, используется метод экземпляра блока `emit(event, [data])`.\n+\n+Взаимодействие пользователя с элементом управления блока (DOM-событие) можно преобразовать в БЭМ-событие на блоке. Например, при клике по кнопке `submit` (DOM-событие `click`) **БЭМ-событие** `click` генерируется только в том случае, если у блока в этот момент не выставлен модификатор `disabled`:\n+\n+```js\n+BEMDOM.decl('submit', {\n+    onSetMod: {\n+        'js': {\n+            'inited': function() {\n+                this.bindTo('click', this._onClick); // подписка на DOM-событие \"click\"\n+            }\n+        }\n+    },\n+\n+    _onClick: function() {\n+        if(!this.hasMod('disabled')) {\n+            this.emit('click'); // создание БЭМ-события \"click\"\n+        }\n+    }\n+});\n+```\n+\n+\n+Вторым аргументом методу можно передать произвольные данные, которые будут доступны как второй аргумент функции-обработчика.\n+\n+<a name=\"bem-events-subscribe\"></a>\n+#### Подписка на БЭМ-события\n+\n+Для подписки на БЭМ-события экземпляров блоков используются методы\n+экземпляра блока `on(event, [data], handler, [handlerCtx])`.\n+\n+**Пример:** В момент инициализации HTML-формы (экземпляра блока `my-form`) выполняется поиск вложенной в форму кнопки `submit` и подписка на ее БЭМ-событие `click`. В результате при нажатии на кнопку (экземпляр блока `submit`) будет выполнен метод `_onSubmit` формы (экземпляр блока `my-form`).\n+\n+```js\n+BEMDOM.decl('my-form', {\n+    onSetMod: {\n+        'js': {\n+            'inited': function() {\n+                this.findBlockInside('submit').on(\n+                    'click', // имя БЭМ-события\n+                    this._onSubmit, // метод экземпляра блока my-form\n+                    this); // контекст для выполнения _onSubmit — блок my-form\n+            }\n+        }\n+    },\n+\n+    _onSubmit: function() { /* ... */ }\n+});\n+```\n+\n+\n+***\n+\n+**NB** Если не передавать аргумент `[handlerCtx]`, контекстом для выполнения функции-обработчика будет тот блок, в котором возникло БЭМ-событие (в примере выше это блок `submit`).\n+\n+***\n+\n+<a name=\"bem-events-unsubscribe\"></a>\n+#### Удаление подписки на БЭМ-события\n+\n+Удаление подписки на БЭМ-события выполняется автоматически при уничтожении экземпляра блока. Для ручного удаления подписки, используйте метод экземпляра блока\n+`un(event, [handler], [handlerCtx])`.\n+\n+<a name=\"bem-events-modchange\"></a>\n+#### События при изменении модификаторов\n+\n+Для подписки на БЭМ-события при изменении модификатора блока или элемента используется метод экземпляра блока `on`. Метод принимает аргументы:\n+\n+* объект, описывающий модификатор, на который производится подписка;\n+* функцию-обработчик, выполняющуюся при установке соответствующего модификатора.\n+\n+Объект, описывающий модификатор, может содержать следующие зарезервированные свойства:\n+\n+* `modName` `{String}` – имя модификатора. Обязательное свойство.\n+* `modVal` `{String}` – значение модификатора. Обязательное свойство. Со значением `*` производится подписка на установку модификатора в **любое** значение. Со значением `''` – на **удаление** модификатора. Подробнее смотрите в разделе [триггеры на установку модификаторов](i-bem-js-states.ru.md#mods-api-trigger).\n+* `elem` `{String}` – имя элемента (для модификаторов элементов).\n+\n+**Пример:** В момент инициализации блок `form` подписывается на событие при изменении модификатора у вложенного блока `submit`. К примеру, можно подписаться на:\n+\n+* установку модификатора `disabled` в любое значение;\n+```js\n+BEMDOM.decl('form', {\n+    onSetMod: {\n+        'js': {\n+            'inited': function() {\n+                var submit = findBlockInside('submit');\n+                submit.on({ modName : 'disabled', modVal : '*' }, function() {});\n+            }\n+        }\n+    },\n+});\n+```\n+\n+\n+* установку модификатора `'disabled'` в значение `'true'`;\n+```js\n+submit.on({ modName : 'disabled', modVal : 'true' }, function() {});\n+```\n+\n+\n+* удаление модификатора `'disabled'`;\n+```js\n+submit.on({ modName : 'disabled', modVal : '' }, function() {});\n+```\n+\n+\n+* удаление модификатора `m1` у элемента `'control'`;\n+```js\n+submit.on({ elem : 'control', modName : 'm1', modVal : '' }, function() {});\n+```\n+\n+\n+<a name=\"bem-events-delegated\"></a>\n+#### Делегирование БЭМ-событий\n+\n+Делегирование БЭМ-событий означает, что блок подписывается на определенное БЭМ-событие **всех экземпляров** блока с заданным именем **в пределах заданного контекста**. \n+\n+Подписка на делегированные БЭМ-события выполняется с помощью статического метода класса блока `MyBlock.on([ctx], event, [data], handler, [handlerCtx])`.\n+\n+* `{jQuery} [ctx]` — DOM-узел, в пределах которого отслеживаются БЭМ-события (контейнер). Если не указан, в качестве контейнера используется весь документ.\n+* `{String} event` — имя БЭМ-события.\n+* `{Object} [data]` — произвольные данные, передаваемые функции-обработчику.\n+* `{Function} handler` — функция-обработчик события.\n+* `{Object} [handlerCtx]` — контекст функции-обработчика события. Если отсутствует, функция-обработчик будет выполняться в контексте экземпляра блока в котором произошло событие.\n+\n+**Пример:** При инициализации экземпляров блока `menu` выполняется подписка на БЭМ-событие `click` всех ссылок (экземпляров блока `link`) в пределах DOM-узла блока (`this.domElem`). В качестве контекста функции-обработчика передается текущий экземпляр блока.\n+\n+```js\n+modules.define('menu', ['i-bem__dom', 'link'], function(provide, BEMDOM, Link) {\n+\n+provide(BEMDOM.decl(this.name,\n+    onSetMod : {\n+        'js' : {\n+            'inited' : function() {\n+                Link.on( // подписка на БЭМ-событие\n+                    this.domElem, // контейнер — DOM-узел экземпляра блока menu\n+                    'click', // БЭМ-событие\n+                    this._onLinkClick, // обработчик\n+                    this); // контекст обработчика — экземпляр блока menu\n+            },\n+\n+            '' : function() {\n+                Link.un( // удаление подписки на БЭМ-событие\n+                    this.domElem,\n+                    'click',\n+                    this._onLinkClick,\n+                    this);\n+            }\n+        }\n+    },\n+\n+    _onLinkClick : function(e) {\n+        var clickedLink = e.target; // экземпляр блока 'link', на котором произошло БЭМ-событие 'click'\n+    }\n+});\n+\n+});\n+```\n+\n+\n+Делегировать можно любые БЭМ-события, в том числе и события при изменении модификаторов.\n+\n+***\n+\n+**NB** **Удаление подписки** на делегированные БЭМ-события никогда не происходит автоматически. Всегда следует явно удалять подписку при\n+помощи статического метода блока `un([ctx], event, [handler], [handlerCtx])`.\n+\n+***\n+\n+<a name=\"api\"></a>\n+### Объект БЭМ-события\n+\n+В качестве параметра функции-обработчику передается объект, описывающий БЭМ-событие. Класс объекта БЭМ-события `events.Event` определен в [ym][]-модуле [`events`](../../common.blocks/events/events.vanilla.js) библиотеки bem-core. Содержит поля:","path":"common.docs/i-bem-js/i-bem-js-events.ru.md","position":369,"original_position":369,"commit_id":"62d37151b5f1bafd37f44049e86ab079f6af7e9d","original_commit_id":"62d37151b5f1bafd37f44049e86ab079f6af7e9d","user":{"login":"maslinych","id":784009,"avatar_url":"https://avatars.githubusercontent.com/u/784009?v=3","gravatar_id":"","url":"https://api.github.com/users/maslinych","html_url":"https://github.com/maslinych","followers_url":"https://api.github.com/users/maslinych/followers","following_url":"https://api.github.com/users/maslinych/following{/other_user}","gists_url":"https://api.github.com/users/maslinych/gists{/gist_id}","starred_url":"https://api.github.com/users/maslinych/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maslinych/subscriptions","organizations_url":"https://api.github.com/users/maslinych/orgs","repos_url":"https://api.github.com/users/maslinych/repos","events_url":"https://api.github.com/users/maslinych/events{/privacy}","received_events_url":"https://api.github.com/users/maslinych/received_events","type":"User","site_admin":false},"body":"В КАКОЙ СИТУАЦИИ в качестве параметра функции-обработчику передается объект...","created_at":"2015-07-20T09:52:25Z","updated_at":"2015-07-20T09:52:25Z","html_url":"https://github.com/bem/bem-core/pull/1029#discussion_r34980718","pull_request_url":"https://api.github.com/repos/bem/bem-core/pulls/1029","_links":{"self":{"href":"https://api.github.com/repos/bem/bem-core/pulls/comments/34980718"},"html":{"href":"https://github.com/bem/bem-core/pull/1029#discussion_r34980718"},"pull_request":{"href":"https://api.github.com/repos/bem/bem-core/pulls/1029"}}},"pull_request":{"url":"https://api.github.com/repos/bem/bem-core/pulls/1029","id":36831312,"html_url":"https://github.com/bem/bem-core/pull/1029","diff_url":"https://github.com/bem/bem-core/pull/1029.diff","patch_url":"https://github.com/bem/bem-core/pull/1029.patch","issue_url":"https://api.github.com/repos/bem/bem-core/issues/1029","number":1029,"state":"open","locked":false,"title":"i-bem: the reference update and simplification (close #690)","user":{"login":"Murdalay","id":3054826,"avatar_url":"https://avatars.githubusercontent.com/u/3054826?v=3","gravatar_id":"","url":"https://api.github.com/users/Murdalay","html_url":"https://github.com/Murdalay","followers_url":"https://api.github.com/users/Murdalay/followers","following_url":"https://api.github.com/users/Murdalay/following{/other_user}","gists_url":"https://api.github.com/users/Murdalay/gists{/gist_id}","starred_url":"https://api.github.com/users/Murdalay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Murdalay/subscriptions","organizations_url":"https://api.github.com/users/Murdalay/orgs","repos_url":"https://api.github.com/users/Murdalay/repos","events_url":"https://api.github.com/users/Murdalay/events{/privacy}","received_events_url":"https://api.github.com/users/Murdalay/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-06-03T13:19:51Z","updated_at":"2015-07-20T09:52:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"409d6087815f5a1966cd4bdb88691f0abd2a4de7","assignee":null,"milestone":{"url":"https://api.github.com/repos/bem/bem-core/milestones/12","html_url":"https://github.com/bem/bem-core/milestones/2.7","labels_url":"https://api.github.com/repos/bem/bem-core/milestones/12/labels","id":1075000,"number":12,"title":"2.7","description":"","creator":{"login":"narqo","id":88045,"avatar_url":"https://avatars.githubusercontent.com/u/88045?v=3","gravatar_id":"","url":"https://api.github.com/users/narqo","html_url":"https://github.com/narqo","followers_url":"https://api.github.com/users/narqo/followers","following_url":"https://api.github.com/users/narqo/following{/other_user}","gists_url":"https://api.github.com/users/narqo/gists{/gist_id}","starred_url":"https://api.github.com/users/narqo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/narqo/subscriptions","organizations_url":"https://api.github.com/users/narqo/orgs","repos_url":"https://api.github.com/users/narqo/repos","events_url":"https://api.github.com/users/narqo/events{/privacy}","received_events_url":"https://api.github.com/users/narqo/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":8,"state":"open","created_at":"2015-04-20T10:56:59Z","updated_at":"2015-07-13T21:02:28Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/bem/bem-core/pulls/1029/commits","review_comments_url":"https://api.github.com/repos/bem/bem-core/pulls/1029/comments","review_comment_url":"https://api.github.com/repos/bem/bem-core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bem/bem-core/issues/1029/comments","statuses_url":"https://api.github.com/repos/bem/bem-core/statuses/62d37151b5f1bafd37f44049e86ab079f6af7e9d","head":{"label":"bem:issues/#690@v2","ref":"issues/#690@v2","sha":"62d37151b5f1bafd37f44049e86ab079f6af7e9d","user":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"repo":{"id":8100172,"name":"bem-core","full_name":"bem/bem-core","owner":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bem/bem-core","description":"BEM Core Library","fork":false,"url":"https://api.github.com/repos/bem/bem-core","forks_url":"https://api.github.com/repos/bem/bem-core/forks","keys_url":"https://api.github.com/repos/bem/bem-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bem/bem-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bem/bem-core/teams","hooks_url":"https://api.github.com/repos/bem/bem-core/hooks","issue_events_url":"https://api.github.com/repos/bem/bem-core/issues/events{/number}","events_url":"https://api.github.com/repos/bem/bem-core/events","assignees_url":"https://api.github.com/repos/bem/bem-core/assignees{/user}","branches_url":"https://api.github.com/repos/bem/bem-core/branches{/branch}","tags_url":"https://api.github.com/repos/bem/bem-core/tags","blobs_url":"https://api.github.com/repos/bem/bem-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bem/bem-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bem/bem-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/bem/bem-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bem/bem-core/statuses/{sha}","languages_url":"https://api.github.com/repos/bem/bem-core/languages","stargazers_url":"https://api.github.com/repos/bem/bem-core/stargazers","contributors_url":"https://api.github.com/repos/bem/bem-core/contributors","subscribers_url":"https://api.github.com/repos/bem/bem-core/subscribers","subscription_url":"https://api.github.com/repos/bem/bem-core/subscription","commits_url":"https://api.github.com/repos/bem/bem-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/bem/bem-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/bem/bem-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/bem/bem-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/bem/bem-core/contents/{+path}","compare_url":"https://api.github.com/repos/bem/bem-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bem/bem-core/merges","archive_url":"https://api.github.com/repos/bem/bem-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bem/bem-core/downloads","issues_url":"https://api.github.com/repos/bem/bem-core/issues{/number}","pulls_url":"https://api.github.com/repos/bem/bem-core/pulls{/number}","milestones_url":"https://api.github.com/repos/bem/bem-core/milestones{/number}","notifications_url":"https://api.github.com/repos/bem/bem-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bem/bem-core/labels{/name}","releases_url":"https://api.github.com/repos/bem/bem-core/releases{/id}","created_at":"2013-02-08T19:53:17Z","updated_at":"2015-07-14T01:20:04Z","pushed_at":"2015-07-16T12:24:52Z","git_url":"git://github.com/bem/bem-core.git","ssh_url":"git@github.com:bem/bem-core.git","clone_url":"https://github.com/bem/bem-core.git","svn_url":"https://github.com/bem/bem-core","homepage":"https://bem.info/libs/bem-core","size":9669,"stargazers_count":130,"watchers_count":130,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":70,"mirror_url":null,"open_issues_count":86,"forks":70,"open_issues":86,"watchers":130,"default_branch":"v2"}},"base":{"label":"bem:v2","ref":"v2","sha":"f092cbee15bbe32c800f80b02860c993090dae82","user":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"repo":{"id":8100172,"name":"bem-core","full_name":"bem/bem-core","owner":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bem/bem-core","description":"BEM Core Library","fork":false,"url":"https://api.github.com/repos/bem/bem-core","forks_url":"https://api.github.com/repos/bem/bem-core/forks","keys_url":"https://api.github.com/repos/bem/bem-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bem/bem-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bem/bem-core/teams","hooks_url":"https://api.github.com/repos/bem/bem-core/hooks","issue_events_url":"https://api.github.com/repos/bem/bem-core/issues/events{/number}","events_url":"https://api.github.com/repos/bem/bem-core/events","assignees_url":"https://api.github.com/repos/bem/bem-core/assignees{/user}","branches_url":"https://api.github.com/repos/bem/bem-core/branches{/branch}","tags_url":"https://api.github.com/repos/bem/bem-core/tags","blobs_url":"https://api.github.com/repos/bem/bem-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bem/bem-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bem/bem-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/bem/bem-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bem/bem-core/statuses/{sha}","languages_url":"https://api.github.com/repos/bem/bem-core/languages","stargazers_url":"https://api.github.com/repos/bem/bem-core/stargazers","contributors_url":"https://api.github.com/repos/bem/bem-core/contributors","subscribers_url":"https://api.github.com/repos/bem/bem-core/subscribers","subscription_url":"https://api.github.com/repos/bem/bem-core/subscription","commits_url":"https://api.github.com/repos/bem/bem-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/bem/bem-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/bem/bem-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/bem/bem-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/bem/bem-core/contents/{+path}","compare_url":"https://api.github.com/repos/bem/bem-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bem/bem-core/merges","archive_url":"https://api.github.com/repos/bem/bem-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bem/bem-core/downloads","issues_url":"https://api.github.com/repos/bem/bem-core/issues{/number}","pulls_url":"https://api.github.com/repos/bem/bem-core/pulls{/number}","milestones_url":"https://api.github.com/repos/bem/bem-core/milestones{/number}","notifications_url":"https://api.github.com/repos/bem/bem-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bem/bem-core/labels{/name}","releases_url":"https://api.github.com/repos/bem/bem-core/releases{/id}","created_at":"2013-02-08T19:53:17Z","updated_at":"2015-07-14T01:20:04Z","pushed_at":"2015-07-16T12:24:52Z","git_url":"git://github.com/bem/bem-core.git","ssh_url":"git@github.com:bem/bem-core.git","clone_url":"https://github.com/bem/bem-core.git","svn_url":"https://github.com/bem/bem-core","homepage":"https://bem.info/libs/bem-core","size":9669,"stargazers_count":130,"watchers_count":130,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":70,"mirror_url":null,"open_issues_count":86,"forks":70,"open_issues":86,"watchers":130,"default_branch":"v2"}},"_links":{"self":{"href":"https://api.github.com/repos/bem/bem-core/pulls/1029"},"html":{"href":"https://github.com/bem/bem-core/pull/1029"},"issue":{"href":"https://api.github.com/repos/bem/bem-core/issues/1029"},"comments":{"href":"https://api.github.com/repos/bem/bem-core/issues/1029/comments"},"review_comments":{"href":"https://api.github.com/repos/bem/bem-core/pulls/1029/comments"},"review_comment":{"href":"https://api.github.com/repos/bem/bem-core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bem/bem-core/pulls/1029/commits"},"statuses":{"href":"https://api.github.com/repos/bem/bem-core/statuses/62d37151b5f1bafd37f44049e86ab079f6af7e9d"}}}}