@planet221b/pure-mvc
v2.2.5
Published
PureMVC is a lightweight framework for creating applications based upon the classic Model-View-Controller design meta-pattern
Downloads
5
Readme
pure MVC
how to install
npm i @planet221b/pure-mvc@latest
About
Basic Model-View-Controller architecture with extended functionality in TypeScript.
Example project here https://github.com/planet-221b/pureMVC-example.
Added functionalities.
- Mediator have
sleap()
andwake()
functions, which will give you ability to stop and start mediator from listening notifications dynamically. - Mediator have
subscribeToNotifications()
andunsubscribeToNotification
functions, which are giving ability to dynamically subscribe and unsubscribe listening notifications.listenNotificationInterests
now is a getter not a function. - Now it's allowed to have same mediator-view pairs, so for every mediator instance will be generated unique id, which is available in mediator in
id
property. - Now
facade.retrieveMediator
function has optional second propertyid
. It's for cases where you have multiple instances of same mediator-view pairs. If you're usingretrieveMediator
function without givingid
argument, it will return first mediator from mediators with given name. - Now facade has new function
getMediatorsCount(mediatorName: string)
which will return count of Mediator with same name. It'd done for cases, when you want to write you own logic based on Mediator count. - Mediator have
index
property which shows in which index in the same name mediators list it is, cane be used to different them from each other. - Same notification can call multiple commands, so added functions to remove commands from notification's call queue. To remove single command from call queue call
removeCommand(notification, command)
on facade, and to remove all commands from notification's queue callremoveCommands(notification)
on facade. - To register command for signle use
registerCommandOnce(notification, command)
on facade. So it will called only once, then it will be removed from commands queue. - Added
Guard
for commad, it can be used to make checkes before command will execute, it has reference to facade too. - Added
addGuard(...guardClassRefs)
, you need to give as argument justGuard
classes, not instances. - Command has protected method
perpare
, which is provided to add guards. - Command execution is being done in following sequence,
prepare -> checkGuards -> execute
ToDo
2. Create a TypeScript example with all new functionalities usage. And update attached example.
Description
At the moment, attached example repo is in ES6 and doesn't using all new functionalities