define(['imageLoader', 'itemShortcuts'], function (imageLoader, itemShortcuts) { function buildPeopleCardsHtml(people, options) { var className = 'card portraitCard personCard'; if (options.block || options.rows) { className += ' block'; } var html = ''; var itemsInRow = 0; var serverId = options.serverId; for (var i = 0, length = people.length; i < length; i++) { if (options.rows && itemsInRow == 0) { html += '
'; } var person = people[i]; html += buildPersonCard(person, serverId, options, className); itemsInRow++; if (options.rows && itemsInRow >= options.rows) { itemsInRow = 0; html += '
'; } } return html; } function buildPersonCard(person, serverId, options, className) { className += " itemAction scalableCard"; var imgUrl = person.images ? person.images.primary : ''; var cardImageContainerClass = 'cardImageContainer'; if (options.coverImage) { cardImageContainerClass += ' coveredImage'; } var cardImageContainer = imgUrl ? ('
') : ('
'); var nameHtml = ''; nameHtml += '
' + person.Name + '
'; if (person.Role) { nameHtml += '
as ' + person.Role + '
'; } else if (person.Type) { nameHtml += '
' + Globalize.translate('core#' + person.Type) + '
'; } else { nameHtml += '
 
'; } var html = '\
\ ' ; return html; } function buildPeopleCards(items, options) { // Abort if the container has been disposed if (!document.body.contains(options.parentContainer)) { return; } if (options.parentContainer) { if (items.length) { options.parentContainer.classList.remove('hide'); } else { options.parentContainer.classList.add('hide'); return; } } var html = buildPeopleCardsHtml(items, options); options.itemsContainer.innerHTML = html; imageLoader.lazyChildren(options.itemsContainer); itemShortcuts.off(options.itemsContainer); itemShortcuts.on(options.itemsContainer); } return { buildPeopleCards: buildPeopleCards }; });