Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ui5-menu): Initial implementation #4742

Merged
merged 32 commits into from
Apr 14, 2022
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
29974c4
feat(ui5-menu): Initial implementation
NHristov-sap Feb 14, 2022
16199ac
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Feb 14, 2022
70b8c3c
use static area only
vladitasev Feb 15, 2022
20a9d5c
move submenus in static area
NHristov-sap Feb 16, 2022
22354ce
delete menuitem css file
NHristov-sap Feb 16, 2022
03a73ab
fix submenu position according to VD spec
NHristov-sap Feb 16, 2022
7a58a22
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Feb 16, 2022
8f7e520
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Feb 21, 2022
35a9e5b
add playground sample + fixes
NHristov-sap Feb 21, 2022
ec93a72
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Feb 22, 2022
9bb9cca
add tests and improvements
NHristov-sap Feb 23, 2022
5f9acba
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Feb 23, 2022
b0acde7
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Feb 24, 2022
18414d6
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Feb 25, 2022
a1fa130
add accessibility features
NHristov-sap Mar 1, 2022
b0b5891
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Mar 1, 2022
0428c03
fix comments and improve acc
NHristov-sap Mar 9, 2022
585b1cd
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Mar 9, 2022
282c20d
fix comments
NHristov-sap Mar 21, 2022
c1d947f
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Mar 21, 2022
e4f94db
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Mar 22, 2022
b132382
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Mar 23, 2022
0334f8c
fix contrast ratio and mobile view problem
NHristov-sap Mar 23, 2022
ec1976a
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Mar 30, 2022
34ec4e0
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Mar 30, 2022
8dad1ed
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Apr 5, 2022
84111c1
fix comments
NHristov-sap Apr 7, 2022
8a3ea62
Merge branch 'master' into menu_menuitem_initial
NHristov-sap Apr 7, 2022
1eeda20
fix lint errors
NHristov-sap Apr 7, 2022
f1d8dac
Merge branch 'master' into menu_menuitem_initial
ilhan007 Apr 11, 2022
d2e9c25
fix(ui5-menu-item): remove 'parent' method
NHristov-sap Apr 12, 2022
a1aced4
fix(ui5-menu): fix husky issue on Windows
NHristov-sap Apr 12, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/base/hash.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1E1MO0DdDCKt3QOSKoxy/b3JIQE=
bIOd1YxtRe25NFr5+QbNxHqOUFo=
2 changes: 2 additions & 0 deletions packages/main/bundle.common.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ import Input from "./dist/Input.js";
import MultiInput from "./dist/MultiInput.js";
import Label from "./dist/Label.js";
import Link from "./dist/Link.js";
import Menu from "./dist/Menu.js";
import MenuItem from "./dist/MenuItem.js";
import Popover from "./dist/Popover.js";
import Panel from "./dist/Panel.js";
import RadioButton from "./dist/RadioButton.js";
Expand Down
1 change: 1 addition & 0 deletions packages/main/src/ListItem.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
aria-expanded="{{_accInfo.ariaExpanded}}"
title="{{title}}"
aria-level="{{_accInfo.ariaLevel}}"
aria-haspopup="{{_accInfo.ariaHaspopup}}"
aria-posinset="{{_accInfo.posinset}}"
aria-setsize="{{_accInfo.setsize}}"
aria-describedby="{{_id}}-invisibleText-describedby"
Expand Down
22 changes: 21 additions & 1 deletion packages/main/src/ListItem.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,29 @@ const metadata = {
defaultValue: "listitem",
},

/**
* Used to define the role of the list item.
*
* @private
* @type {string}
* @defaultvalue ""
* @since 1.3.0
*
*/
accessibleRole: {
type: String,
},

_mode: {
type: ListMode,
defaultValue: ListMode.None,
},

_ariaHasPopup: {
type: String,
noAttribute: true,
},

},
events: /** @lends sap.ui.webcomponents.main.ListItem.prototype */ {
/**
Expand Down Expand Up @@ -354,12 +373,13 @@ class ListItem extends ListItemBase {

get _accInfo() {
return {
role: this.role,
role: this.accessibleRole || this.role,
ariaExpanded: undefined,
ariaLevel: undefined,
ariaLabel: ListItem.i18nBundle.getText(ARIA_LABEL_LIST_ITEM_CHECKBOX),
ariaLabelRadioButton: ListItem.i18nBundle.getText(ARIA_LABEL_LIST_ITEM_RADIO_BUTTON),
ariaSelectedText: this.ariaSelectedText,
ariaHaspopup: this._ariaHasPopup || undefined,
NHristov-sap marked this conversation as resolved.
Show resolved Hide resolved
};
}

Expand Down
100 changes: 100 additions & 0 deletions packages/main/src/Menu.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<ui5-responsive-popover
id="{{_id}}-menu-rp"
class="ui5-menu-rp"
dir={{effectiveDir}}
horizontal-align="Left"
placement-type={{placementType}}
vertical-align={{verticalAlign}}
hide-arrow
allow-target-overlap
?sub-menu={{_isSubMenu}}
@before-close={{_beforePopoverClose}}
>
{{#if isPhone}}
<div
slot="header"
class="ui5-menu-dialog-header"
>
{{#if isSubMenuOpened}}
<ui5-button
icon="nav-back"
NHristov-sap marked this conversation as resolved.
Show resolved Hide resolved
class="ui5-menu-back-button"
design="Transparent"
aria-label="{{labelBack}}"
@click={{_navigateBack}}
>
</ui5-button>
{{/if}}
<div
class="ui5-menu-dialog-title"
>
<div>
{{menuHeaderTextPhone}}
</div>
</div>
<ui5-button
icon="decline"
design="Transparent"
aria-label="{{labelClose}}"
@click={{close}}
>
</ui5-button>
</div>
{{/if}}
<div
id="{{_id}}-menu-main"
>
{{#if _currentItems.length}}
<ui5-list
id="{{_id}}-menu-list"
mode="None"
separators="None"
accessible-role="menu"
@ui5-item-click={{_itemClick}}
>
{{#each _currentItems}}
<ui5-li
.associatedItem="{{this.item}}"
class="ui5-menu-item"
id="{{../_id}}-menu-item-{{@index}}"
icon="{{this.item.icon}}"
accessible-role="menuitem"
._ariaHasPopup={{this.ariaHasPopup}}
?disabled={{this.item.disabled}}
?starts-section={{this.item.startsSection}}
?selected={{this.item.subMenuOpened}}
@mouseover={{../_itemMouseOver}}
@mouseout={{../_itemMouseOut}}
@keydown={{../_itemKeyDown}}
>
{{#if this.item.hasDummyIcon}}
<div
class="ui5-menu-item-dummy-icon"
>
</div>
{{/if}}
{{this.item.text}}
{{#if this.item.hasChildren}}
<ui5-icon
part="icon"
name="slim-arrow-right"
class="ui5-menu-item-icon-end"
>
</ui5-icon>
{{else if this.item._siblingsWithChildren}}
<div
class="ui5-menu-item-no-icon-end"
>
</div>
{{/if}}
</ui5-li>
{{/each}}
</ui5-list>
{{/if}}
</div>
</ui5-responsive-popover>

<div
class="ui5-menu-submenus"
>
</div>
Loading