/** * Created by robin on 12/11/16. */ (function () { 'use strict'; angular.module('luticate2Utils') .factory('luDataInitializer', ['$q', function ($q) { var luDataInitializer = {}; luDataInitializer.create = function (initData) { var initializer = {}; initializer.initData = initData; initializer.initListData = function(list, userData) { var d = []; for (var i = 0; i < list.length; ++i) { d.push(initializer.initData(list[i], userData)); } return d; }; initializer.initPaginatedData = function(data, userData) { var d = { count: data.count, data: initializer.initListData(data.data, userData) }; return d; }; initializer.thenInitData = function(promise, userData) { var deferred = $q.defer(); promise.then(function(data) { deferred.resolve(initializer.initData(data, userData)); }, deferred.reject); return deferred.promise; }; initializer.thenInitListData = function(promise, userData) { var deferred = $q.defer(); promise.then(function(data) { deferred.resolve(initializer.initListData(data, userData)); }, deferred.reject); return deferred.promise; }; initializer.thenInitPaginatedData = function(promise, userData) { var deferred = $q.defer(); promise.then(function(data) { deferred.resolve(initializer.initPaginatedData(data, userData)); }, deferred.reject); return deferred.promise; }; return initializer; }; return luDataInitializer; }]); })();