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

[UI5 Web Components 2.0] Changes suggestion list [Topic RD] #7889

Closed
ilhan007 opened this issue Nov 21, 2023 · 6 comments
Closed

[UI5 Web Components 2.0] Changes suggestion list [Topic RD] #7889

ilhan007 opened this issue Nov 21, 2023 · 6 comments

Comments

@ilhan007
Copy link
Member

Issue Description

The goal is to gather a list with breaking changes that you are willing to do to improve/simplify the components API.

  • list deprecated APIs within your components that should be removed with 2.0
  • list APIs that we would like to improve and change before releasing 2.0

There is already this issue #4460 with changes we already identified, so first take a look of it - it could be that some of your suggestions are already proposed.

@georgimkv
Copy link
Contributor

georgimkv commented Dec 12, 2023

TabContainer: The type of the property backgroundDesign is TabContainerBackgroundDesign but it can be replaced with BackgroundDesign. Both enums have the same values.

ilhan: Agree. In addition there is PageBackgroundDesign with the same semantic and values, both can just use the BackgroundDesign enum.

@ilhan007 ilhan007 added the 2.0 label Jan 26, 2024
@TeodorTaushanov
Copy link
Member

TeodorTaushanov commented Jan 29, 2024

UploadCollection

  • mode - reconsider the property. "Delete" mode is obsolete and not used by the component. Also the design is not clear if modes SingleSelect, SingleSelectBegin and SingleSelectEnd are needed.

ilhan :In List, Table, Calendar we agreed to rename mode to selectionMode and the values:

  • SingleSelect to Single
  • MultiSelect to Multiple
  • SingleSelectBegin to SingleStart
  • SingleSelectEnd to SingleEnd

Changes Agreed: /here comes final decision/

Badge

  • colorScheme - change the default value from "1" to "7".

Changes Agreed: /here comes final decision/

TabContainer

  • fixed - remove after 2.0. It should be always fixed=true.

Discussed here: #6406
Also we don't have visual design and ACC spec for this functionality. The ui5-panel has a collapse/expand button, in the tab we don't have.

  • Remove TabContainer's deprecated property showOverflow

Changes Agreed: /here comes final decision/

Popover

  • Remove Popover.modal property?
  • Popover#placementType - change "placementType" to "placement".
  • Change PopoverHorizontalAlign Left/Right to Start/End? Also check PopoverPlacementType and PopoverVerticalAlign.

Changes Agreed: /here comes final decision/

@olannyv
Copy link

olannyv commented Jan 31, 2024

to be handled by team backlog -3203

@LidiyaGeorgieva LidiyaGeorgieva moved this from New to Planned in Planning - Topic RD Feb 7, 2024
@dimovpetar
Copy link
Contributor

dimovpetar commented Feb 7, 2024

Refactor ITab interface as follows:

  • Rename getTabInStripDomRef to more generic term, that also fits the TabSeparator

Suggested renaming to: getDomRefInStrip

  • Replace getElementInStrip, isInline, forcedMixedMode, forcedPosinset, forcedSetsize, forcedStyle, and isTopLevelTab with injection mechanism, such that the TabContainer supplies this information to the ITab, and the ITab uses it as it likes.
interface ITab extends UI5Element {
	applyTabContainerInfo: ({
		elementInStrip: HTMLElement,
		forcedMixedMode: boolean,
		...
	}) => {
		this._elementInStrip = elementInStrip;
                this._forcedMixedMode = forcedMixedMode;
                ...
	}
}

=> agreed to remove interface members in favour method applyTabContainerInfo (or similar) that will provide them.

  • Remove forcedLevel from the interface, it is only used in the scope of the TabContainer

=> agreed to be removed

Update 05.04 (Petar Dimov)

  • We decided to completely remove the ITab interface and let the TabContainer work only with Tabs and TabSeparators.

@s-todorova
Copy link
Contributor

s-todorova commented Feb 22, 2024

After a team meeting, the following API changes were decided:

RadioButton

  • deprecate get strokeWidth() prior 2.0 and remove after 2.0

Changes Agreed:
remove strokeWidth

CardHeader

  • Remove ICardHeader interface – it is only used by Card component (may need to bring it back in the future if we extend the component to allow different CardHeader types)

Changes Agreed:
Remove ICardHeader, and replace with the CardHeader component in the slot type.

UploadCollection

  • Remove redundant IUploadCollectionItem interface

Changes Agreed:
Remove IUploadCollectionItem, replace with the UploadCollectionItem component in the slot type and event details.

NotificationListGroupItem

  • deprecate #showCounter, #showClose properties prior 2.0 and remove after 2.0

Changes Agreed:
Remove both the properties.

Popover

  • Change enum values for PopoverPlacementType and PopoverHorizontalAlign: Left, Right, Top (?), Bottom (?) ->
    Start, End

  • Remove #modal and #hide-backdrop properties

Changes Agreed: /here comes final decision/

  • Left, Right -> Start, End
  • [TODO team Rodopi] - follow up with SAP Design on modal

TabContainer

  • Remove TabContainerBackgroundDesign and use BackgroundDesign instead

  • Remove TabContainer#fixed and TabContainer#show-overflow properties

  • Rename Tab#subTabs to Tab#Items

  • Refactor ITab interface as described in the comment above: Rename getTabInStripDomRef (name tbd - getItemInStripDomRef / getElementInStripDomRef )

Changes Agreed: /here comes final decision/

  • use BackgroundDesign
  • fixed remains, but the default logic could be reversed (e.g fixed="true", then new property will be added)
  • remove show-overflow
  • Rename Tab#subTabs to Tab#Items

Badge (ui5-badge rename to ui5-tag)

  • change #design and #colorScheme default values
  • ui5-badge rename to ui5-tag

Changes Agreed: /here comes final decision/

  • change #design (Set3 -> Neutral) and #colorScheme ( 1 to 7) default values
  • ui5-badge rename to ui5-tag

SideNavigationItem

  • Deprecate SideNavigationItem.wholeItemToggleable as it won't be needed after implementing SideNavigation single & two-click areas.

Changes Agreed: /here comes final decision/

  • Deprecate SideNavigationItem.wholeItemToggleable
  • If you finish SideNavigation single & two-click areas before 2.0, then remove SideNavigationItem.wholeItemToggleable

The following changes are still up for discussion:

UploadCollection

  • Additional meeting will be held do decide changes to #mode property - currently uses ListMode (to be changed), but we want to get rid of Delete option for UploadCollection

=> consider renaming mode to selectionMode as will be done in List, Table, Calendar
=> remove "Delete" from the selectionMode (previously mode) options

NotificationAction

  • possible deprecation as part of BGSOFUIRODOPI-3226 (replacing actions button with menu)

Changes Agreed: /here comes final decision/

  • menu slot to be added replacing the actions and for 2.0

Planning - Topic RD automation moved this from Planned to Done Feb 22, 2024
@ilhan007
Copy link
Member Author

ilhan007 commented Mar 15, 2024

External Feedback

ui5-card-header

  • status: only available on the ui5-card-header, in other components, a similar text is set with the additional-text attribute. I would suggest replacing this and only using additional text for these texts that are a bit off…

  • title-text and subtitle-text could also be called header-text as in many other components (e.g. ui5-dialog) and description as the subtitle doesn’t appear to be a subtitle rather a description.

Changes Agreed: /here comes final decision/

  • status to be renamed to additionalText
  • title-text and subtitle-text remain as are

ui5-carousel

  • items-per-page: setting the number of items per page per size with individual attributes is very clumsy. I wonder if this could be solved either by a type that iterated the valid options or better by a string that represents an array like in lex-box or so: items-per-page=”1 1 2” which would then be parsed into the three values.

  • page-indicator-style: would be a good candidate for the design attribute.

Changes Agreed: /here comes final decision/

  • Single property to be used items-per-page="S1 M1 L1", instead of the existing. In addition check design for "XL" and add if specified

  • page-indicator-style rename to page-indicator-type

ui5-tab-container

  • fixed: being able to collapse a ui5-tab-container is a feature that is assumed to lead to confusion with users as a collapsed tab container has no way of clearly indicating that it is collapsed. We would prefer to discard this property. If this is not possible, calling it collapsible and making it an optional attribute with default set to false would be more in line with our expectation. This should then also be aligned with the ui5-panel.

Update - Remove "fixed" property, ui5-tabcontainer will be always "fixed". Discussed here:
#6406
Also we don't have visual design and ACC spec for this functionality. The ui5-panel has a special collapse/expand button. In the tab we don't have.

  • tab-layout: Could this not be done via the design attribute?

  • tab-overflow-mode: these attributes are very specific while they are attributes of the tab container, they all contain tab in the name which seems unnecessary. An overflow attribute could also be used in other components.

Changes Agreed: /here comes final decision/

  • Inline and Standard are questionable
  • tab-overflow-mode rename to "overflow-mode "

ui5-busy-indicator

  • size: this is current used as AvatarSize and BusyIndicatorSize with completely different values. The busyindicator accepts “Small”, “Medium”, “Large” while the sizes for the avatar range from “XS” to “XL”. This makes it hard to learn so I would suggest to use one way of defining sizes. Even if you continue using different types, the values could follow the same logic.

Changes Agreed: /here comes final decision/
BusyIndicatorSize -> S, M, L

@SAP SAP deleted a comment from TeodorTaushanov Mar 15, 2024
@SAP SAP deleted a comment from TeodorTaushanov Mar 15, 2024
@SAP SAP deleted a comment from TeodorTaushanov Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

7 participants