From 4443d628dc462ddc94701ff44cf446a2823a56b0 Mon Sep 17 00:00:00 2001 From: Kevin Giszewski Date: Wed, 13 Sep 2017 21:56:43 -0400 Subject: [PATCH] Maybe works? --- app/controllers/controller.js | 1 - app/services/archetypeCacheService.js | 36 ++++++++------------------- 2 files changed, 10 insertions(+), 27 deletions(-) diff --git a/app/controllers/controller.js b/app/controllers/controller.js index ec015f6..6032ffd 100644 --- a/app/controllers/controller.js +++ b/app/controllers/controller.js @@ -1004,5 +1004,4 @@ angular.module("umbraco").controller("Imulus.ArchetypeController", function ($sc } return null; } - }); diff --git a/app/services/archetypeCacheService.js b/app/services/archetypeCacheService.js index 57648ec..22e2c70 100644 --- a/app/services/archetypeCacheService.js +++ b/app/services/archetypeCacheService.js @@ -1,14 +1,8 @@ angular.module('umbraco.services').factory('archetypeCacheService', function (archetypePropertyEditorResource) { //private - - var isEntityLookupLoading = false; var entityCache = []; - - var isDatatypeLookupLoading = false; var datatypeCache = []; - - return { initialize: function() { return archetypePropertyEditorResource.getAllDataTypesForCache().then(function(data) { @@ -33,6 +27,7 @@ angular.module('umbraco.services').factory('archetypeCacheService', function (ar return null; }, + //perhaps this should return a promise? getEntityById: function(scope, id, type) { var cachedEntity = _.find(entityCache, function (e){ return e.id == id; @@ -43,20 +38,14 @@ angular.module('umbraco.services').factory('archetypeCacheService', function (ar } //go get it from server - if (!isEntityLookupLoading) { - isEntityLookupLoading = true; - - scope.resources.entityResource.getById(id, type).then(function(entity) { - - entityCache.push(entity); - - isEntityLookupLoading = false; - }); - } + scope.resources.entityResource.getById(id, type).then(function(entity) { + entityCache.push(entity); + }); return null; }, + //perhaps this should return a promise? getEntityByUmbracoId: function(scope, udi, type) { var cachedEntity = _.find(entityCache, function (e){ return e.udi == udi; @@ -67,18 +56,13 @@ angular.module('umbraco.services').factory('archetypeCacheService', function (ar } //go get it from server - if (!isEntityLookupLoading) { - isEntityLookupLoading = true; + scope.resources.entityResource.getByIds([udi], type).then(function (entities) { + // prevent infinite lookups with a default entity + var entity = entities.length > 0 ? entities[0] : { udi: udi, name: "" }; - scope.resources.entityResource.getByIds([udi], type).then(function (entities) { - // prevent infinite lookups with a default entity - var entity = entities.length > 0 ? entities[0] : { udi: udi, name: "" }; + entityCache.push(entity); - entityCache.push(entity); - - isEntityLookupLoading = false; - }); - } + }); return null; }