Hey there guys,
today I stumbled upon a problem. I developed a NodeType for a slider which worked out just fine.
But then when testing it in the backend I saw Neos covering the whole element with an ember overlay.
There are no options like inlineEditable: false
or similar set.
What are the conditions for this overlay to appear? Or better, how can I prevent it from showing up?
I provide some files for this NodeType below for better understanding.
[details=NodeTypes.InfoSlider.yaml]> ‘Pende.MainWebsite:InfoSlider’:
superTypes: 'Neos.Neos:Content': true childNodes: infoCollection: type: 'Pende.MainWebsite:InfoCollection' constraints: nodeTypes: '*': false ui: label: 'Info Slider'
'Pende.MainWebsite:InfoCollection': superTypes: 'Neos.Neos:ContentCollection': true childNodes: infoBlockOne: type: 'Pende.MainWebsite:InfoBlock' constraints: nodeTypes: 'Pende.MainWebsite:InfoBlock': true '*': false
'Pende.MainWebsite:InfoBlock': superTypes: 'Neos.Neos:Content' : true 'Neos.NodeTypes:TitleMixin' : true 'Neos.NodeTypes:TextMixin' : true 'Pende.MainWebsite:RawImageMixin' : true 'Pende.MainWebsite:SubtitleMixin' : true ui: label: 'i18n' icon: 'icon-info-circle' properties: title: defaultValue: ~ ui: aloha: placeholder: i18n
'Neos.Neos:ContentCollection': constraints: nodeTypes: 'Pende.MainWebsite:InfoCollection': FALSE 'Pende.MainWebsite:InfoBlock': FALSE
The NodeTypes RawImageMixin and SubtitleMixin are obviously mixins, the one for an image and the other for a subtitle property. Nothing special in there but if needed I’ll add them here.[/details]
I did a hotfix with JS, waiting for the overlay to appear and then removing it, which does it’s thing but no properties below that node are inline editable anymore (the properties of the InfoBlock NodeType in this case). Clickable yes, but no input shows up from Aloha.
And in addition this is definitely not the proper solution so I don’t really want to use it.
remove-ember.js
var removeEmberOverlayFrom = function(element) { if($(element).find('.ember-view.neos-contentelement-overlay').length) { $(element).find('.ember-view.neos-contentelement-overlay').remove(); return true; } else { setTimeout(function() {removeEmberOverlayFrom(element);},500); } }
Some DOM elements above the node got the class neos-not-inline-editable
maybe there is some relation?
Thanks for your help in advance.
Greets, Max