If you configure two dimensions-sets with one combination which is completely separated from all others, it is impossible to select this specific one from the dimensions menu in the backend. It is grayed out due to the constraints set.
Here is an example configuration:
Neos:
ContentRepository:
contentDimensions:
'country':
default: 'deu'
defaultPreset: 'deu'
label: 'Country'
icon: 'icon-globe'
presets:
'deu':
label: 'Germany'
values: ['deu']
uriSegment: 'deu'
'aut':
label: 'Austria'
values: ['aut', 'deu']
uriSegment: 'aut'
'lux':
label: 'Luxembourg'
values: ['lux', 'deu']
uriSegment: 'lux'
'dnk':
label: 'Denmark'
values: ['dnk']
uriSegment: 'dnk'
'language':
default: 'de'
defaultPreset: 'de'
label: 'Language'
icon: 'icon-language'
presets:
'de':
label: 'German'
values: ['de']
uriSegment: 'de'
constraints:
country:
'*': false
'deu': true
'aut': true
'lux': true
'en':
label: 'English'
values: ['en']
uriSegment: 'en'
constraints:
country:
'*': false
'deu': true
'aut': true
'da':
label: 'Danish'
values: ['da']
uriSegment: 'da'
constraints:
country:
'*': false
'dnk': true
With this, you can't choose "Denmark" or "Danish" from the dimensions menu, as Denmark ist prohibited in the languages English and German while Danish is prohibited in Germany, Austria and Luxembourg:


On the other hand, if you enter the danish dimension via the URI, you can't switch back to any other dimension from the menu:


Any ability to choose the Danish dimension from the menu.
Not to have that ability...
Neos: 3.3.13
UI: 1.3.3
@dennisirmscher Interesting problem, I can confirm this.
It's a special situation, but I'll take care of it and will make a proposal to solve this in the next few days, if not someone else is faster.
Yeah, would be cool to come up with a sound UX concept, coding it shouldn't be hard.
@dennisirmscher @dimaip Sorry for the delay.
After some experiments I would go with the most simple solution: Allow clicks on "disabled" / secondary dimensions:

Definitely not finished:
https://github.com/neos/neos-ui/compare/master...sbruggmann:secondary-dimensions
Whats missing is, that the Apply-Button get's disabled if a not-valid dimension combination is used.
In that case when you click disabled dimension, the other dimension(s) should refresh to the first matching valid config.
Or this way, yes. Then the Apply Button can always be clicked.
But I didn't figure out how ;)
Haha challenges is what makes our job fun, right? =)
I think it's a nice approach to make the disabled entries clickable but agree with @dimaip it would be more convenient for the user if the other menus will switch to the first valid entry. And I too have no clue how to achieve that :)
@dennisirmscher how did you solve this situation in your project? I am in a similar situation right now.
@DrillSergeant No, I'm afraid not. We explained the problem to our customer and he simply added English as an additional language for DK to work around the problem. Since then I honestly haven't pursued it any further.
@dennisirmscher Thanks for the update. We took the same route so far, I allow the norway language in the country "global" but there will never be content in there, it's just to be able to switch to Dimension "no_no" (country_lang).
Additionally added a EditNodePrivilege to the policy which is explict denied for everybody to prevent getting content in the global_no-Dimension:
matcher: 'isInDimensionPreset("country", "global") && isInDimensionPreset("language", "no")'
But it's still not nice to have a dummy dimension combination. Maybe someone come up with a better solution.
Hi @sbruggmann! Do you still plan to try to fix it, or should someone take over?
Most helpful comment
In that case when you click disabled dimension, the other dimension(s) should refresh to the first matching valid config.