Skip to content

Commit ba32bc9

Browse files
JamesAliasmarkusguenther
authored andcommitted
FEATURE: Allow grouping in DimensionSwitcher
1 parent aa84e84 commit ba32bc9

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

Tests/IntegrationTests/Fixtures/1Dimension/SitePackage/Configuration/Settings.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,35 +12,42 @@ Neos:
1212
values:
1313
- en_US
1414
uriSegment: en
15+
group: NON-EU
1516
en_UK:
1617
label: 'English (UK)'
1718
values:
1819
- en_UK
1920
- en_US
2021
uriSegment: uk
22+
group: NON-EU
2123
de:
2224
label: German
2325
values:
2426
- de
2527
uriSegment: de
28+
group: EU
2629
fr:
2730
label: French
2831
values:
2932
- fr
3033
uriSegment: fr
34+
group: EU
3135
nl:
3236
label: Dutch
3337
values:
3438
- nl
3539
- de
3640
uriSegment: nl
41+
group: EU
3742
da:
3843
label: Danish
3944
values:
4045
- da
4146
uriSegment: da
47+
group: EU
4248
lv:
4349
label: Latvian
4450
values:
4551
- lv
4652
uriSegment: lv
53+
group: EU

Tests/IntegrationTests/Fixtures/1Dimension/switchingDimensions.e2e.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
Page,
44
DimensionSwitcher
55
} from './../../pageModel';
6+
import {Selector} from 'testcafe';
67

78
/* global fixture:true */
89

@@ -30,3 +31,9 @@ test('Switching dimensions', async t => {
3031
.expect(await Page.getReduxState(state => state.cr.contentDimensions.active.language[0])).eql('en_US', 'Dimension back to English')
3132
.expect(Page.treeNode.withText(otherPageName).exists).ok('Untranslated node back in the tree');
3233
});
34+
35+
test('Grouping of dimensions', async t => {
36+
await t
37+
.click(DimensionSwitcher.dimensionSwitcher)
38+
.expect(Selector('div[class*="selectBox__groupHeader"]').withExactText('EU').exists).ok('Languages group exists');
39+
});

packages/neos-ui/src/Containers/PrimaryToolbar/DimensionSwitcher/DimensionSelector.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import React, {PureComponent} from 'react';
22
import PropTypes from 'prop-types';
33
import SelectBox from '@neos-project/react-ui-components/src/SelectBox/';
44
import style from './style.module.css';
5-
import {$get, $transform} from 'plow-js';
65
import mapValues from 'lodash.mapvalues';
76
import sortBy from 'lodash.sortby';
87
import {neos} from '@neos-project/neos-ui-decorators';
@@ -46,14 +45,12 @@ export default class DimensionSelector extends PureComponent {
4645
const presetOptions = mapValues(
4746
presets,
4847
(presetConfiguration, presetName) => {
49-
return $transform(
50-
{
51-
label: $get('label'),
52-
value: presetName,
53-
disallowed: $get('disallowed')
54-
},
55-
presetConfiguration
56-
);
48+
return {
49+
label: presetConfiguration?.label,
50+
value: presetName,
51+
disallowed: presetConfiguration?.disallowed,
52+
group: presetConfiguration?.group
53+
};
5754
}
5855
);
5956

0 commit comments

Comments
 (0)