react-native-navigation的迁移库

AppCommands.js 930B

123456789101112131415161718192021222324252627282930313233
  1. import _ from 'lodash';
  2. export default class AppCommands {
  3. constructor(nativeCommandsSender, layoutTreeParser, layoutTreeCrawler) {
  4. this.nativeCommandsSender = nativeCommandsSender;
  5. this.layoutTreeParser = layoutTreeParser;
  6. this.layoutTreeCrawler = layoutTreeCrawler;
  7. }
  8. setRoot(simpleApi) {
  9. const input = _.cloneDeep(simpleApi);
  10. const layout = this.layoutTreeParser.parseFromSimpleJSON(input);
  11. this.layoutTreeCrawler.crawl(layout);
  12. return this.nativeCommandsSender.setRoot(layout);
  13. }
  14. showModal(simpleApi) {
  15. const input = _.cloneDeep(simpleApi);
  16. const layout = this.layoutTreeParser.parseFromSimpleJSON(input);
  17. this.layoutTreeCrawler.crawl(layout);
  18. return this.nativeCommandsSender.showModal(layout);
  19. }
  20. dismissModal(id) {
  21. return this.nativeCommandsSender.dismissModal(id);
  22. }
  23. dismissAllModals() {
  24. return this.nativeCommandsSender.dismissAllModals();
  25. }
  26. }