From 7bcfd8dad972e4d01f329a9c832158c586f752ce Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska Date: Thu, 6 May 2021 10:58:13 +0200 Subject: [PATCH] Introduce getScaffoldByKeys that makes use of GetEmptyByKeys --- .../src/common/resources/content.resource.js | 18 ++++++++++++++++++ .../services/blockeditormodelobject.service.js | 16 ++++++++-------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js index 368eab2339..b32969dc01 100644 --- a/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js +++ b/src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js @@ -688,6 +688,24 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) { }); }, + getScaffoldByKeys: function (parentId, scaffoldKeys) { + + return umbRequestHelper.resourcePromise( + $http.get( + umbRequestHelper.getApiUrl( + "contentApiBaseUrl", + "GetEmptyByKeys", + { contentTypeKeys: scaffoldKeys, parentId: parentId })), + 'Failed to retrieve data for empty content items ids' + scaffoldKeys.join(", ")) + .then(function (result) { + Object.keys(result).map(function(key) { + result[key] = umbDataFormatter.formatContentGetData(result[key]); + }); + + return $q.when(result); + }); + }, + getBlueprintScaffold: function (parentId, blueprintId) { return umbRequestHelper.resourcePromise( diff --git a/src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js b/src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js index 2ee7d513ca..4bcbbc89d6 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js @@ -419,18 +419,18 @@ // removing duplicates. scaffoldKeys = scaffoldKeys.filter((value, index, self) => self.indexOf(value) === index); - scaffoldKeys.forEach(contentTypeKey => { - tasks.push(contentResource.getScaffoldByKey(-20, contentTypeKey).then(scaffold => { + tasks.push(contentResource.getScaffoldByKeys(-20, scaffoldKeys).then(scaffolds => { + Object.values(scaffolds).forEach(scaffold => { // self.scaffolds might not exists anymore, this happens if this instance has been destroyed before the load is complete. if (self.scaffolds) { self.scaffolds.push(formatScaffoldData(scaffold)); } - }).catch( - () => { - // Do nothing if we get an error. - } - )); - }); + }); + }).catch( + () => { + // Do nothing if we get an error. + } + )); return $q.all(tasks); },