This repository has been archived by the owner on Nov 24, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Libraries
Jose Pereira edited this page Aug 24, 2020
·
8 revisions
Includes base classes for views and view models, and some features and accelerators for more common usage in apps.
Intended to provide some of the MvxExtensions
functionalities, with a reduced footprint of dependencies, meaning that this package does not depend on any other MvxExtensions
package.
- Extensions: Set of methods to accelerate the usage of common functionalities
-
ViewModels
-
CoreViewModel.cs: Contains several core implementations including:
-
PropertyChanged
notifications propagation handling (see: PropertyChanged Event Propagation) - Base async execution of code, with
IsBusy
context, usingDoWorkAsync
orDoWorkAsync<T>
-
-
CoreViewModel.Param.cs: Variant that allows to send an input parameter to the viewmodel, following
IMvxViewModel<TParameter>
implementation -
CoreViewModel.ResultAndParam: Variant that allows to send an input parameter to the viewmodel and send back a result after completion, following
IMvxViewModel<TParameter, TResult>
implementation -
CoreViewModelResult.cs: Helper class for the
CoreViewModel.ResultAndParam
implementation
-
CoreViewModel.cs: Contains several core implementations including:
-
Attributes
-
DependsOnAttribute.cs: Allows the configuration of properties and/or methods to react on
PropertyChangeEvent
of a specific property -
PropagateCollectionChangeAttribute.cs: Allows to configure a property (of type
ObservableCollection
) to fire thePropertyChangeEvent
when a itsCollectionChangedEvent
occurs -
SingletonViewModelAttribute.cs: Used with the
SingletonViewModelLocator
, enables to mark a viewmodel to be registered as singleton -
StringValueAttribute.cs: Simple attribute class for storing
string
Values
-
DependsOnAttribute.cs: Allows the configuration of properties and/or methods to react on
-
Converters
- InverseBoolConverter.cs: Converter for boolean inversion
- Extensions Set of methods to accelerate the usage of common functionalities
-
Models
-
DependencyInfo.cs: Representation of an dependency injected by the use of the
DependsOnAttribute
-
LocalizableModel.cs: Wrapper for the
Model
with support for localized text resources - LongRunnigNotificationSaveBundle.cs: Bundle used to persist long running subscriptions
- LongRunningSubscriptionToken.cs: Subscription token for long running subscriptions (longer lifecycle)
-
Model.cs: Wrapper for the
MvxNotifyPropertyChanged
with the implementation ofIDisposable
- TupleKeyValue.cs: Wrapper of the Tupple class, configured to have a key and a value
-
DependencyInfo.cs: Representation of an dependency injected by the use of the
- Platforms Platform specific implementation. See next topics for more info.
-
Statics
-
NavigationModes.cs: Identifiers used for the navigation extensions that provide
ClearStack
andRemoveSelf
-
NavigationModes.cs: Identifiers used for the navigation extensions that provide
-
ViewModels
-
ViewModel.cs: Inherits from
MvxEntesions.Core.ViewModels.CoreViewModel
and provides some extra features allow behaviour normalization across the application, including:- Notification management (Subscription, Publish, Delayed Message Handling, Base massage behaviour)
- Text resources localization
-
ViewModel.Param.cs: Variant that allows to send an input parameter to the viewmodel, following
IMvxViewModel<TParameter>
implementation -
ViewModel.ResultAndParam: Variant that allows to send an input parameter to the viewmodel and send back a result after completion, following
IMvxViewModel<TParameter, TResult>
implementation -
ViewModelResult.cs: Helper class for the
ViewModel.ResultAndParam
implementation
-
ViewModel.cs: Inherits from
-
Application.cs: Inherits from MvxApplication and configures the app to use the
SingletonViewModelLocator
-
Components: Base folder where custom Bindings, Targets and Controls can be found
- Binding: Binding registration related classes
-
Controls: Home of custom controls
- DecimalEditText: Control that handles decimal values
- NumericEditText: Control that handles integer values
- Targets: Several targets for base and custom controls
-
Extensions
- WeakSubscriptionExtensions.cs: Enables weak subscriptions of events. Will be improved by new event subscriptions that are identified as useful to have here.
-
Presenters
-
AndroidViewPresenter.cs: Inherits from
MvxAndroidPresenter
and provides the implementation for theClearStack
andRemoveSelf
navigation modes. Used by default in theAndroidSetup.cs
-
AndroidViewPresenter.cs: Inherits from
- Resources: Contains several resources used in the controls
-
Setup
- AndroidSetup.cs: Inherits from MvxAndroidSetup, and it registers the custom targets and controls
-
Views
-
ActivityBase.cs: Inherits from
MvxApplication
and provides out of the box behaviour control implementation for the common functionalities provided in the viewmodel base class, including handling of generic message subscription, and also prompt messages. It also provides notification management and context options management. - DialogCancelListener.cs: Cancel listener used in the prompt dialogues
-
AndroidApplication.cs: MvxExtensions own implementation of
MvxAndroidApplication
that provides base support forAndroidSetup
and custom controls present in MvxExtensions
-
ActivityBase.cs: Inherits from
-
Components: Base folder where custom Bindings, Targets and Controls can be found
- Binding: Binding registration related classes
-
Controls: Home of custom controls
- LoadingOverlay: Default implementation for a loading indicator the cover the whole view and prevents the user from interacting with any control in the view
- Interfaces: Generic interfaces to be used in controls
-
Presenters
-
iOSViewPresenter.cs: Inherits from
MvxIosViewPresenter
and provides the implementation for theClearStack
andRemoveSelf
navigation modes. Used by default in theiOSSetup.cs
-
iOSViewPresenter.cs: Inherits from
-
Setup
- iOSSetup.cs: Inherits from MvxIosSetup, and it registers the custom presenter
-
Views
-
TableViewControllerBase.cs: Inherits from
MvxTableViewController
and provides out of the box behaviour control implementation for the common functionalities provided in the viewmodel base class, including handling of generic message subscription, and also prompt messages. It also provides notification management and context options management. -
ViewControllerBase.cs: Inherits from
MvxViewController
and provides out of the box behaviour control implementation for the common functionalities provided in the viewmodel base class, including handling of generic message subscription, and also prompt messages. It also provides notification management and context options management.
-
TableViewControllerBase.cs: Inherits from
-
ApplicationDelegate.cs: Inherits from
MvxApplicationDelegate
and provides an application entry point, using theiOSSetup
and base setup class
-
V7
-
Presenters
-
AndroidAppCompatViewPresenter.cs: Inherits from
MvxAppCompatViewPresenter
and provides the implementation for theClearStack
andRemoveSelf
navigation modes. Used by default in theAndroidAppCompatSetup.cs
-
AndroidAppCompatViewPresenter.cs: Inherits from
-
Setup
-
AndroidAppCompatSetup.cs: Inherits from
MvxAppCompatSetup
, and registers the custom targets and controls
-
AndroidAppCompatSetup.cs: Inherits from
-
Views
-
AppCompatActivityBase.cs: Inherits from
AppCompatActivityBase
and provides out of the box behaviour control implementation for the common funcionalities provided in the viewmodel base class, including handling of generic message subscription, and also promp messages. It also provides notification managment and context options management.
-
AppCompatActivityBase.cs: Inherits from
-
AppCompatApplication.cs: Inherits from
AppCompatApplication
and enables the usage of anAndroidAppCompatSetup
-
Presenters
- Converters Contains a Forms wrapper for the converters available in the base classes.
-
Views
-
ContentPage Inherits from
MvxContentPage
and provides out of the box behaviour control implementation for the common functionalities provided in the viewmodel base class, including handling of generic message subscription, and also prompt messages. It also provides notification management and context options management.
-
ContentPage Inherits from