Last active
April 22, 2016 22:40
-
-
Save zerkalica/14eaf67c8a64d52814da04ee16e8abc5 to your computer and use it in GitHub Desktop.
loaders-test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
// loads Model1 and Model2 by one request | |
loader(Loader12, deps), | |
// loads Model1 | |
loader(Loader1, deps), | |
// Loads Model2 | |
loader(Loader2, deps), | |
// Keep Model1 state and pending/error/success status, attach default loader | |
value(Model1, new Model1(), Loader1), | |
// Keep Model2 state and pending/error/success status, attach default loader | |
value(Model2, new Model2(), Loader2), | |
// load Model1L, model2l via default Loader12 | |
component(Component1, { | |
providers: [ | |
// create new Model1, copy Model1 state from parent container, redefine new loader | |
value(Model1, fromParent, Loader12), | |
value(Model2, fromParent, Loader12) | |
], | |
deps: [Model1, Model2] | |
}), | |
// Redefine default loader for Model1L, Model2L to Loader1 and Loader2 | |
component(Component2, { | |
deps: [Model1, Model2] | |
}) | |
] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
// loads Model1 and Model2 by one request | |
loader(Loader12, deps, Model1, Model2), | |
// loads Model1 | |
loader(Loader1, deps, Model1), | |
// Loads Model2 | |
loader(Loader2, deps, Model2), | |
// Keep Model1 state and pending/error/success status | |
value(Model1, new Model1()), | |
// Keep Model2 state and pending/error/success status | |
value(Model2, new Model2()), | |
// Binds together Model1 and Loader12 | |
model(Model1L, Model1, Loader12), | |
// Binds together Model2 and Loader12 | |
model(Model2L, Model2, Loader12), | |
// load Model1L, model2l via default Loader12 | |
component(Component1, { | |
deps: [Model1L, Model2L] | |
}), | |
// Redefine default loader for Model1L, Model2L to Loader1 and Loader2 | |
component(Component2, { | |
providers: [ | |
model(Model1L, Model1, Loader1), | |
model(Model2L, Model2, Loader2) | |
], | |
deps: [Model1L, Model2L] | |
}), | |
// Loads only Model1 | |
component(Component3, { | |
providers: [ | |
model(Model1L, Model1, Loader1) | |
], | |
deps: [Model1L] | |
}) | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment