UNPKG

linagora-rse

Version:
40 lines (29 loc) 1.02 kB
(function(angular) { 'use strict'; angular.module('esn.timeline').factory('esnTimelineEntriesHelper', esnTimelineEntriesHelper); function esnTimelineEntriesHelper($q, esnTimelineEntryProviders) { return { getProvidersForTimelineEntry: getProvidersForTimelineEntry, denormalizeAPIResponse: denormalizeAPIResponse }; function getProvidersForTimelineEntry(entry) { return esnTimelineEntryProviders.get(entry.verb).filter(function(provider) { if (angular.isFunction(provider.canHandle)) { return provider.canHandle(entry); } return true; }); } function denormalizeAPIResponse(entries) { return $q.when(entries.map(denormalize).filter(Boolean)); function denormalize(entry) { var providers = getProvidersForTimelineEntry(entry); if (!providers || !providers.length) { return; } entry.templateUrl = providers[0].templateUrl; return entry; } } } })(angular);