').text(m.year));
card.on('hover:enter', function () { openMovie(m); });
grid.append(card);
@@ -53,29 +65,33 @@
Lampa.Selector.update();
}
- // ---- Компонент: детали фильма ----
+ // ---------- Компонент: детали фильма ----------
var selected = null;
Lampa.Component.add(PLUGIN.name + '_detail', {
create: function () {
+ var comp = this;
var m = selected;
if (!m) { Lampa.Activity.back(); return; }
- var html = '
';
- html += '
';
- html += '
 + ')
';
- html += '
' + esc(m.title) + '
';
- if (m.original_title) html += '
' + esc(m.original_title) + '
';
- if (m.year) html += '
' + m.year + '
';
- if (m.genre && m.genre.length) html += '
' + m.genre.join(', ') + '
';
- if (m.rating) html += '
★ ' + m.rating + '
';
- if (m.description) html += '
' + esc(m.description) + '
';
- html += '
';
- html += '
';
- html += '
';
+ this.activity.render();
+ this.activity.ready(function () {
+ var html = '
';
+ html += '
';
+ html += '
 + ')
';
+ html += '
' + esc(m.title) + '
';
+ if (m.original_title) html += '
' + esc(m.original_title) + '
';
+ if (m.year) html += '
' + m.year + '
';
+ if (m.genre && m.genre.length) html += '
' + m.genre.join(', ') + '
';
+ if (m.rating) html += '
★ ' + m.rating + '
';
+ if (m.description) html += '
' + esc(m.description) + '
';
+ html += '
';
+ html += '
';
+ html += '
';
- var content = this.activity.render().find('.main__content');
- content.html(html);
- content.find('[data-act="play"]').on('hover:enter', function () { play(m); });
- Lampa.Selector.update();
+ var content = comp.activity.render().find('.main__content');
+ content.html(html);
+ content.find('[data-act="play"]').on('hover:enter', function () { play(m); });
+ Lampa.Selector.update();
+ });
}
});
@@ -100,23 +116,13 @@
});
}
- function esc(s) {
- return String(s == null ? '' : s)
- .replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
- }
-
- // ---- Пункт меню ----
- // bylampa строит главное меню из menu_items и ПЕРЕД отрисовкой шлёт
- // событие 'menu:start' с body = jQuery-объект меню (.menu__list внутри).
- // Добавляем
в .menu__list. Защита от дублей — проверка по DOM.
function addMenuItem() {
var list = $('.menu__list');
if (!list.length) return;
- if (list.find('[data-action="' + PLUGIN.name + '"]').length) return; // уже есть в этом меню
- if (added) return; // уже добавляли когда-либо
- added = true;
+ if ($('[data-action="' + PLUGIN.name + '"]').length) return; // уже в DOM
var item = $(
'