react-native-twopane-navigation
Version:
React Native package for dual screen devices navigation support (Surface Duo)
2 lines • 4.07 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _appStore=require("../../appStore");var _interfaces=require("../../utilities/interfaces");var _key=require("../../shared/screenStore/keyStore/key.actions");var _header=require("../../shared/screenStore/headerStore/header.actions");var _paneElement=require("../../shared/screenStore/paneElementStore/paneElement.action");var AddPaneElement=function AddPaneElement(key,element,header){var isMerge=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var extensionOptions=arguments.length>4?arguments[4]:undefined;_appStore.store.dispatch((0,_key.pushKey)(_interfaces.paneType.TWO,key,isMerge,extensionOptions));_appStore.store.dispatch((0,_paneElement.pushElement)(_interfaces.paneType.TWO+"_"+key,element));if(header){_appStore.store.dispatch((0,_header.pushHeader)(_interfaces.paneType.TWO+"_"+key,header));}};var Add=function Add(key,element,header){var isMerge=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var extensionOptions=arguments.length>4?arguments[4]:undefined;var keys=_appStore.store.getState().KeyReducers;var index=keys.keys.findIndex(function(val){return val.key===_interfaces.paneType.TWO+"_"+key;});if(index>-1){_appStore.store.dispatch((0,_header.removeHeaderByKey)(keys.keys[index].key));_appStore.store.dispatch((0,_paneElement.removePaneElementByKey)(keys.keys[index].key));_appStore.store.dispatch((0,_paneElement.pushElement)(_interfaces.paneType.TWO+"_"+key,element));if(header){_appStore.store.dispatch((0,_header.pushHeader)(_interfaces.paneType.TWO+"_"+key,header));}_appStore.store.dispatch((0,_key.moveToFront)(_interfaces.paneType.TWO,_interfaces.paneType.TWO+"_"+key));}else{AddPaneElement(key,element,header,isMerge,extensionOptions);}};var AddOrMoveToFront=function AddOrMoveToFront(key,element,header){var isMerge=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var keys=_appStore.store.getState().KeyReducers;var twoPaneState=keys.keys.filter(function(x){return x.screen===_interfaces.paneType.TWO;});if(!twoPaneState.some(function(val){return val.key===_interfaces.paneType.TWO+"_"+key;})){AddPaneElement(key,element,header,isMerge);}else{_appStore.store.dispatch((0,_key.moveToFront)(_interfaces.paneType.TWO,_interfaces.paneType.TWO+"_"+key));}};var mergeToOppositePane=function mergeToOppositePane(){var keys=_appStore.store.getState().KeyReducers;keys.keys.map(function(val){if(val.screen===_interfaces.paneType.TWO&&val.isMerge){_appStore.store.dispatch((0,_key.changeScreen)(_interfaces.paneType.ONE,val.key));}});};var BackToHome=function BackToHome(){var keys=_appStore.store.getState().KeyReducers;var twoPaneState=keys.keys.filter(function(x){return x.screen===_interfaces.paneType.TWO;});for(var i=1;i<twoPaneState.length;i++){_appStore.store.dispatch((0,_header.removeHeaderByKey)(twoPaneState[i].key));_appStore.store.dispatch((0,_paneElement.removePaneElementByKey)(twoPaneState[i].key));}_appStore.store.dispatch((0,_key.popToFront)(_interfaces.paneType.TWO));};var GoBack=function GoBack(){var keys=_appStore.store.getState().KeyReducers;var twoPaneState=keys.keys.filter(function(x){return x.screen===_interfaces.paneType.TWO;});_appStore.store.dispatch((0,_header.removeHeaderByKey)(twoPaneState.peek().key));_appStore.store.dispatch((0,_paneElement.removePaneElementByKey)(twoPaneState.peek().key));_appStore.store.dispatch((0,_key.popScreen)(twoPaneState.peek().key));};var ReplacePane=function ReplacePane(key,element){_appStore.store.dispatch((0,_paneElement.replacePaneElement)(_interfaces.paneType.TWO+"_"+key,element));};var ReplaceHeader=function ReplaceHeader(key,header){_appStore.store.dispatch((0,_header.replaceHeader)(_interfaces.paneType.TWO+"_"+key,header));};var _twoPaneFunctions={Add:Add,AddOrMoveToFront:AddOrMoveToFront,mergeToOppositePane:mergeToOppositePane,BackToHome:BackToHome,GoBack:GoBack,ReplacePane:ReplacePane,ReplaceHeader:ReplaceHeader};var twoPane=_twoPaneFunctions;var _default=twoPane;exports.default=_default;
//# sourceMappingURL=twoPane.methods.js.map