Skip to content

Conversation

@glennawatson
Copy link
Contributor

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
This removes the abstract base class we use in ReactiveCommand.

What is the current behavior? (You can also link to an open issue here)
There is a abstract base class. Users can introduce subtle bugs by using it directly in their code. It was meant for interop with the ICommand but now ReactiveCommandBase<TParam, TResult> now implements that logic. There is also a interface allow some of the Command Binding code to keep functioning and exposes the observables for the user. It's deliberately not derived from ICommand due to us wanting the separation.

What is the new behavior (if this is a feature change)?
refactor.

What might this PR break?
Users who have a derived off the abstract base class. They will have to change their classes to derive from ReactiveCommandBase<TParam, TResult> now.

Please check if the PR fulfills these requirements

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

Other information:
Docs have already been modified to show the non-abstract class use.

This relates to reactiveui/rfcs#19

@glennawatson glennawatson requested review from a team November 7, 2018 18:24
…ff ICommand it can be an issue for binding etc
RLittlesII
RLittlesII previously approved these changes Nov 7, 2018
Copy link
Member

@RLittlesII RLittlesII left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glenn. This LGTM. I would say we need another member of the @reactiveui/core-team to make sure there are no major concerns.

olevett
olevett previously approved these changes Nov 7, 2018
Copy link
Member

@olevett olevett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, assume this is a reasonably major version change?

@glennawatson
Copy link
Contributor Author

Will take us to 9.1 or 10. If we follow semantic versioning I guess 10

worldbeater
worldbeater previously approved these changes Nov 7, 2018
Copy link
Contributor

@worldbeater worldbeater left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@glennawatson glennawatson dismissed stale reviews from worldbeater, olevett, and RLittlesII via d691915 November 7, 2018 23:36
@glennawatson glennawatson requested a review from a team November 7, 2018 23:36
@glennawatson glennawatson merged commit 502963d into master Nov 8, 2018
@delete-merged-branch delete-merged-branch bot deleted the glennawatson-remove-reactivecommand-abstract branch November 8, 2018 05:29
glennawatson added a commit that referenced this pull request Mar 23, 2019
 
refactor: Remove ReactiveCommand abstract class. (#1836)
@lock lock bot locked and limited conversation to collaborators Jun 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants