createElementTypeAndCallback working again for settings.

This commit is contained in:
Niels Lyngsø
2020-06-12 13:55:21 +02:00
parent 86c1abdbf7
commit 80dfea8743
2 changed files with 24 additions and 5 deletions

View File

@@ -102,7 +102,7 @@
createNewItem: {
action: function() {
overlayService.close();
vm.createElementTypeAndAdd(vm.addBlockFromElementTypeKey);
vm.createElementTypeAndCallback(vm.addBlockFromElementTypeKey);
},
icon: "icon-add",
name: localized[1]
@@ -124,7 +124,7 @@
});
};
vm.createElementTypeAndAdd = function(callback) {
vm.createElementTypeAndCallback = function(callback) {
const editor = {
create: true,
infiniteMode: true,
@@ -176,6 +176,7 @@
view: "views/propertyeditors/blocklist/prevalue/blocklist.blockconfiguration.overlay.html",
size: "small",
submit: function(overlayModel) {
loadElementTypes()// lets load elementType again, to ensure we are up to date.
TransferProperties(overlayModel.block, block);// transfer properties back to block object. (Doing this cause we dont know if block object is added to model jet, therefor we cant use index or replace the object.)
overlayModel.close();
},

View File

@@ -44,6 +44,24 @@
editorService.documentTypeEditor(editor);
}
vm.createElementTypeAndCallback = function(callback) {
const editor = {
create: true,
infiniteMode: true,
isElement: true,
submit: function (model) {
loadElementTypes().then( function () {
callback(model.documentTypeKey);
});
editorService.close();
},
close: function () {
editorService.close();
}
};
editorService.documentTypeEditor(editor);
}
vm.addSettingsForBlock = function ($event, block) {
localizationService.localizeMany(["blockEditor_headlineAddSettingsElementType", "blockEditor_labelcreateNewElementType"]).then(function(localized) {
@@ -58,15 +76,15 @@
createNewItem: {
action: function() {
overlayService.close();
vm.createElementTypeAndAdd((alias) => {
vm.applySettingsToBlock(block, alias);
vm.createElementTypeAndCallback((key) => {
vm.applySettingsToBlock(block, key);
});
},
icon: "icon-add",
name: localized[1]
},
submit: function (overlay) {
vm.applySettingsToBlock(block, overlay.selectedItem.alias);
vm.applySettingsToBlock(block, overlay.selectedItem.key);
overlayService.close();
},
close: function () {