define(['css!./indicators.css', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function () { function enableProgressIndicator(item) { if (item.MediaType == 'Video') { if (item.Type != 'TvChannel') { return true; } } return false; } function getProgressHtml(pct) { return '
'; } function getProgressBarHtml(item) { if (enableProgressIndicator(item)) { if (item.Type == "Recording" && item.CompletionPercentage) { return getProgressHtml(item.CompletionPercentage); } var userData = item.UserData; if (userData) { var pct = userData.PlayedPercentage; if (pct && pct < 100) { return getProgressHtml(pct); } } } return ''; } function enablePlayedIndicator(item) { if (item.Type == "Series" || item.Type == "Season" || item.Type == "BoxSet" || item.MediaType == "Video" || item.MediaType == "Game" || item.MediaType == "Book") { if (item.Type != 'TvChannel') { return true; } } return false; } function getPlayedIndicator(item) { if (enablePlayedIndicator(item)) { var userData = item.UserData || {}; if (userData.UnplayedItemCount) { return '
' + userData.UnplayedItemCount + '
'; } if (userData.PlayedPercentage && userData.PlayedPercentage >= 100 || (userData.Played)) { return '
'; } } return ''; } function getCountIndicatorHtml(count) { return '
' + count + '
'; } function getChildCountIndicatorHtml(item, options) { var minCount = 0; if (options) { minCount = options.minCount || minCount; } if (item.ChildCount && item.ChildCount > minCount) { return getCountIndicatorHtml(item.ChildCount); } return ''; } function getTimerIndicator(item) { if (item.SeriesTimerId) { return ''; } if (item.TimerId) { return ''; } return ''; } return { getProgressBarHtml: getProgressBarHtml, getPlayedIndicatorHtml: getPlayedIndicator, getChildCountIndicatorHtml: getChildCountIndicatorHtml, enableProgressIndicator: enableProgressIndicator, getTimerIndicator: getTimerIndicator, enablePlayedIndicator: enablePlayedIndicator }; });