This repository was 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:
-
PropertyChangednotifications propagation handling (see: PropertyChanged Event Propagation) - Base async execution of code, with
IsBusycontext, usingDoWorkAsyncorDoWorkAsync<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.ResultAndParamimplementation
-
CoreViewModel.cs: Contains several core implementations including:
-
Attributes
-
DependsOnAttribute.cs: Allows the configuration of properties and/or methods to react on
PropertyChangeEventof a specific property -
PropagateCollectionChangeAttribute.cs: Allows to configure a property (of type
ObservableCollection) to fire thePropertyChangeEventwhen a itsCollectionChangedEventoccurs -
SingletonViewModelAttribute.cs: Used with the
SingletonViewModelLocator, enables to mark a viewmodel to be registered as singleton -
StringValueAttribute.cs: Simple attribute class for storing
stringValues
-
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
Modelwith 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
MvxNotifyPropertyChangedwith 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
ClearStackandRemoveSelf
-
NavigationModes.cs: Identifiers used for the navigation extensions that provide
-
ViewModels
-
ViewModel.cs: Inherits from
MvxEntesions.Core.ViewModels.CoreViewModeland 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.ResultAndParamimplementation
-
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
MvxAndroidPresenterand provides the implementation for theClearStackandRemoveSelfnavigation 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
MvxApplicationand 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
MvxAndroidApplicationthat provides base support forAndroidSetupand 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
MvxIosViewPresenterand provides the implementation for theClearStackandRemoveSelfnavigation 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
MvxTableViewControllerand 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
MvxViewControllerand 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
MvxApplicationDelegateand provides an application entry point, using theiOSSetupand base setup class
-
V7
-
Presenters
-
AndroidAppCompatViewPresenter.cs: Inherits from
MvxAppCompatViewPresenterand provides the implementation for theClearStackandRemoveSelfnavigation 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
AppCompatActivityBaseand 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
AppCompatApplicationand enables the usage of anAndroidAppCompatSetup
-
Presenters
- Converters Contains a Forms wrapper for the converters available in the base classes.
-
Views
-
ContentPage Inherits from
MvxContentPageand 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