123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import * as _ from 'lodash';
- import { OptionsProcessor } from './OptionsProcessor';
-
- export class Commands {
- private nativeCommandsSender;
- private layoutTreeParser;
- private layoutTreeCrawler;
- private optionsProcessor = new OptionsProcessor();
-
- constructor(nativeCommandsSender, layoutTreeParser, layoutTreeCrawler) {
- this.nativeCommandsSender = nativeCommandsSender;
- this.layoutTreeParser = layoutTreeParser;
- this.layoutTreeCrawler = layoutTreeCrawler;
- }
-
- setRoot(simpleApi) {
- const input = _.cloneDeep(simpleApi);
- const layout = this.layoutTreeParser.parse(input);
- this.layoutTreeCrawler.crawl(layout);
- return this.nativeCommandsSender.setRoot(layout);
- }
-
- setDefaultOptions(options) {
- const input = _.cloneDeep(options);
- this.optionsProcessor.processOptions(input, this.layoutTreeCrawler.store);
- this.nativeCommandsSender.setDefaultOptions(input);
- }
-
- setOptions(componentId, options) {
- const input = _.cloneDeep(options);
- this.optionsProcessor.processOptions(input, this.layoutTreeCrawler.store);
- this.nativeCommandsSender.setOptions(componentId, input);
- }
-
- showModal(simpleApi) {
- const input = _.cloneDeep(simpleApi);
- const layout = this.layoutTreeParser.parse(input);
- this.layoutTreeCrawler.crawl(layout);
- return this.nativeCommandsSender.showModal(layout);
- }
-
- dismissModal(id) {
- return this.nativeCommandsSender.dismissModal(id);
- }
-
- dismissAllModals() {
- return this.nativeCommandsSender.dismissAllModals();
- }
-
- push(onComponentId, componentData) {
- const input = _.cloneDeep(componentData);
- this.optionsProcessor.processOptions(input, this.layoutTreeCrawler.store);
- const layout = this.layoutTreeParser.parse(input);
- this.layoutTreeCrawler.crawl(layout);
- return this.nativeCommandsSender.push(onComponentId, layout);
- }
-
- pop(componentId, options) {
- return this.nativeCommandsSender.pop(componentId, options);
- }
-
- popTo(componentId) {
- return this.nativeCommandsSender.popTo(componentId);
- }
-
- popToRoot(componentId) {
- return this.nativeCommandsSender.popToRoot(componentId);
- }
-
- showOverlay(componentData) {
- const input = _.cloneDeep(componentData);
- this.optionsProcessor.processOptions(input, this.layoutTreeCrawler.store);
-
- const layout = this.layoutTreeParser.parse(input);
- this.layoutTreeCrawler.crawl(layout);
-
- return this.nativeCommandsSender.showOverlay(layout);
- }
-
- dismissOverlay(componentId) {
- return this.nativeCommandsSender.dismissOverlay(componentId);
- }
- }
|