summaryrefslogtreecommitdiff
path: root/www/lib/ionic-native-transitions/dist/ionic-native-transitions.js.map
blob: 6d8d42c605b9188e8b770b52de67c24a7aeb58d0 (plain)
1
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 981b479f64db45a7424b","webpack:///./lib/index.js","webpack:///./lib/provider.js","webpack:///./lib/nativeSref.js","webpack:///./lib/run.js"],"names":[],"mappings":"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","file":"ionic-native-transitions.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ionicNativeTransitions\"] = factory();\n\telse\n\t\troot[\"ionicNativeTransitions\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 981b479f64db45a7424b\n **/","import Provider from './provider.js';\nimport nativeSref from './nativeSref.js';\nimport Run from './run.js';\n\nlet mod = angular.module('ionic-native-transitions', [\n    'ionic',\n    'ui.router'\n]);\n\nmod.directive('nativeUiSref', nativeSref);\nmod.provider('$ionicNativeTransitions', Provider);\nmod.run(Run);\n\nexport default mod = mod.name;\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/index.js\n **/","/**\n * @ngdoc service\n * @name ionic-native-transitions.$ionicNativeTransitions\n * @description\n * ionic-native-transitions service\n */\n/**\n * @ngdoc service\n * @name ionic-native-transitions.$ionicNativeTransitionsProvider\n * @description\n * ionic-native-transitions provider\n */\nexport default function () {\n    'ngInject';\n\n    let enabled = true,\n        $stateChangeStart = null,\n        $stateChangeSuccess = null,\n        $stateChangeError = null,\n        $stateAfterEnter = null,\n        oppositeDirections = {\n            up: 'down',\n            down: 'up',\n            left: 'right',\n            right: 'left'\n        },\n        defaultTransition = {\n            type: 'slide',\n            direction: 'left'\n        },\n        defaultBackTransition = {\n            type: 'slide',\n            direction: 'right'\n        },\n        defaultOptions = {\n            duration: 400, // in milliseconds (ms), default 400,\n            slowdownfactor: 4, // overlap views (higher number is more) or no overlap (1), default 4\n            iosdelay: -1, // ms to wait for the iOS webview to update before animation kicks in, default -1\n            androiddelay: -1, // same as above but for Android, default -1\n            winphonedelay: -1, // same as above but for Windows Phone, default -1,\n            fixedPixelsTop: 0, // the number of pixels of your fixed header, default 0 (iOS and Android)\n            fixedPixelsBottom: 0, // the number of pixels of your fixed footer (f.i. a tab bar), default 0 (iOS and Android),\n            triggerTransitionEvent: '$ionicView.afterEnter', // internal ionic-native-transitions option\n            backInOppositeDirection: false // Disable default back transition and uses the opposite transition to go back\n        };\n\n    return {\n        $get,\n        enable,\n        setDefaultTransition,\n        setDefaultBackTransition,\n        setDefaultOptions\n    };\n\n    /**\n     * @ngdoc function\n     * @name ionic-native-transitions.$ionicNativeTransitionsProvider#enable\n     * @access public\n     * @methodOf ionic-native-transitions.$ionicNativeTransitionsProvider\n     *\n     * @description\n     * Overwrite default nativepagetransitions plugin options\n     * @param {object} injectedOptions  options that will overwrite defaults\n     */\n    function enable(enabled = true) {\n        enable = enabled;\n        return this;\n    }\n\n    /**\n     * @ngdoc function\n     * @name ionic-native-transitions.$ionicNativeTransitionsProvider#isEnabled\n     * @access public\n     * @methodOf ionic-native-transitions.$ionicNativeTransitionsProvider\n     *\n     * @description\n     * Is ionic-native-transitions enabled or not?\n     */\n    /**\n     * @ngdoc function\n     * @name ionic-native-transitions.$ionicNativeTransitions#isEnabled\n     * @access public\n     * @methodOf ionic-native-transitions.$ionicNativeTransitions\n     *\n     * @description\n     * Is ionic-native-transitions enabled or not?\n     */\n    function isEnabled() {\n        if (window.cordova && window.plugins && window.plugins.nativepagetransitions) {\n            return enable;\n        }\n        return false;\n    }\n\n    /**\n     * @ngdoc function\n     * @name ionic-native-transitions.$ionicNativeTransitionsProvider#setDefaultOptions\n     * @access public\n     * @methodOf ionic-native-transitions.$ionicNativeTransitionsProvider\n     *\n     * @description\n     * Overwrite default nativepagetransitions plugin options\n     * @param {object} injectedOptions  options that will overwrite defaults\n     */\n    function setDefaultOptions(injectedOptions = {}) {\n        angular.extend(defaultOptions, injectedOptions);\n        return this;\n    }\n\n    /**\n     * @ngdoc function\n     * @name ionic-native-transitions.$ionicNativeTransitionsProvider#setDefaultTransition\n     * @access public\n     * @methodOf ionic-native-transitions.$ionicNativeTransitionsProvider\n     *\n     * @description\n     * Overwrite default transitions\n     * @param {object} transitionOptions  options that will overwrite defaults\n     */\n    function setDefaultTransition(transition = {}) {\n        angular.extend(defaultTransition, transition);\n        return this;\n    }\n\n    /**\n     * @ngdoc function\n     * @name ionic-native-transitions.$ionicNativeTransitionsProvider#setDefaultBackTransition\n     * @access public\n     * @methodOf ionic-native-transitions.$ionicNativeTransitionsProvider\n     *\n     * @description\n     * Overwrite default back transitions\n     * @param {object} transitionOptions  options that will overwrite defaults\n     */\n    function setDefaultBackTransition(transition = {}) {\n        angular.extend(defaultBackTransition, transition);\n        return this;\n    }\n\n    function $get($log, $ionicConfig, $rootScope, $timeout, $state, $location, $ionicHistory, $ionicPlatform) {\n        'ngInject';\n\n        let legacyGoBack, backButtonUnregister;\n\n        return {\n            init,\n            getDefaultOptions,\n            enable: enableFromService,\n            isEnabled,\n            transition,\n            registerToRouteEvents,\n            unregisterToRouteEvents,\n            registerToStateChangeStartEvent,\n            unregisterToStateChangeStartEvent,\n            disablePendingTransition,\n            locationUrl,\n            stateGo,\n            goBack\n        };\n\n\n        /**\n         * @ngdoc function\n         * @name ionic-native-transitions.$ionicNativeTransitions#locationUrl\n         * @access public\n         * @methodOf ionic-native-transitions.$ionicNativeTransitions\n         *\n         * @description\n         * Call location url and apply a native transition\n         * @param {string|null} url                 default:null\n         * @param {object|null} transitionOptions   default:null\n         */\n        function locationUrl(url = null, transitionOptions = null) {\n            if (!url) {\n                $log.debug('[native transition] cannot change url without url...');\n                return;\n            }\n            unregisterToStateChangeStartEvent();\n            var locationPromise = $location.url(url);\n            transition(transitionOptions);\n\n            return locationPromise;\n        }\n\n        /**\n         * @ngdoc function\n         * @name ionic-native-transitions.$ionicNativeTransitions#stateGo\n         * @access public\n         * @methodOf ionic-native-transitions.$ionicNativeTransitions\n         *\n         * @description\n         * Call state go and apply a native transition\n         * @param {string|null} state              default:null\n         * @param {object}      stateParams        default:{}\n         * @param {object}      stateOptions       default:{}\n         * @param {object|null} transitionOptions  default:null\n         */\n        function stateGo(state = null, stateParams = {}, stateOptions = {}, transitionOptions = null) {\n            if (!state) {\n                $log.debug('[native transition] cannot change state without a state...');\n                return;\n            }\n\n            if ($state.is(state, stateParams) && !stateOptions.reload) {\n                $log.debug('[native transition] same state transition are not possible');\n                return;\n            }\n\n            unregisterToStateChangeStartEvent();\n            transition(transitionOptions);\n            return $timeout(() => $state.go(state, stateParams, stateOptions));\n        }\n\n        /**\n         * @ngdoc function\n         * @name ionic-native-transitions.$ionicNativeTransitions#enable\n         * @access public\n         * @methodOf ionic-native-transitions.$ionicNativeTransitions\n         *\n         * @description\n         * enable/disable plugin\n         * @param {boolean} enabled\n         * @param {boolean} disableIonicTransitions\n         * @param {string}  ionicTransitionType\n         */\n        function enableFromService(enabled = true, disableIonicTransitions = true, ionicTransitionType = 'platform') {\n            if (enabled && !(window.cordova && window.plugins && window.plugins.nativepagetransitions)) {\n                $log.debug('[native transition] is disabled or nativepagetransitions plugin is not present');\n                return;\n            }\n            enable = enabled;\n\n            if (enabled) {\n                $log.debug('[native transition] enabling plugin');\n                if (window.plugins && window.plugins.nativepagetransitions) {\n                    angular.extend(window.plugins.nativepagetransitions.globalOptions, getDefaultOptions());\n                }\n                $rootScope.$ionicGoBack = goBack;\n                backButtonUnregister = $ionicPlatform.registerBackButtonAction((e, count) => goBack(count), 100);\n                registerToRouteEvents();\n            } else {\n                $log.debug('[native transition] disabling plugin');\n                if (typeof arguments[1] === 'undefined') {\n                    disableIonicTransitions = false;\n                }\n                $rootScope.$ionicGoBack = legacyGoBack;\n                if (angular.isFunction(backButtonUnregister)) {\n                    backButtonUnregister.call();\n                }\n                unregisterToRouteEvents();\n            }\n\n            if (disableIonicTransitions) {\n                $log.debug('[native transition] disabling ionic transitions');\n                $ionicConfig.views.transition('none');\n            } else {\n                $log.debug('[native transition] enabling ionic transitions');\n                $ionicConfig.views.transition(ionicTransitionType);\n            }\n\n            return this;\n        }\n\n        function transition() {\n            if (!isEnabled()) {\n                return;\n            }\n            let options = {}\n            if (angular.isObject(arguments[0])) {\n                options = angular.extend({}, defaultBackTransition, arguments[0])\n            } else if (angular.isString(arguments[0])) {\n                switch (arguments[0]) {\n                    case 'back':\n                        // First we check for state back transition\n                        if (arguments[2] && getBackStateTransition(arguments[2])) {\n                            options = getBackStateTransition(arguments[2]);\n                            console.log('back first', options)\n                        } // Then we check if the backInOppositeDirection option is enabled\n                        else if (getDefaultOptions().backInOppositeDirection && arguments[1] && getStateTransition(arguments[1])) {\n                            options = getStateTransition(arguments[1]);\n                            if (options.direction) {\n                                options.direction = oppositeDirections[options.direction];\n                            }\n                            console.log('back second', options)\n\n                        } // otherwise we just use the default transition\n                        else {\n                            options = defaultBackTransition;\n                            console.log('back default', options)\n                        }\n                        break;\n                }\n            } else {\n                options = defaultTransition;\n            }\n            options = angular.copy(options);\n            $log.debug('[native transition]', options);\n            let type = options.type;\n            delete options.type;\n            $rootScope.$broadcast('ionicNativeTransitions.beforeTransition');\n            window.plugins.nativepagetransitions[type](\n                options,\n                transitionSuccess.bind(this, getTransitionDuration(options)),\n                transitionError.bind(this, getTransitionDuration(options))\n            )\n        }\n\n        function transitionSuccess(duration) {\n            setTimeout(() => $rootScope.$broadcast('ionicNativeTransitions.success'), duration);\n        }\n\n        function transitionError(duration) {\n            setTimeout(() => $rootScope.$broadcast('ionicNativeTransitions.error'), duration);\n        }\n\n        function getTransitionDuration(options) {\n            let duration;\n            if (options.duration) {\n                duration = parseInt(options.duration);\n            } else {\n                duration = parseInt(getDefaultOptions().duration);\n            }\n            if (ionic.Platform.isAndroid()) {\n                if (options.androiddelay) {\n                    duration += parseInt(options.androiddelay);\n                } else {\n                    duration += parseInt(getDefaultOptions().androiddelay);\n                }\n            } else if (ionic.Platform.isIOS()) {\n                if (options.iosdelay) {\n                    duration += parseInt(options.iosdelay);\n                } else {\n                    duration += parseInt(getDefaultOptions().iosdelay);\n                }\n            } else if (ionic.Platform.isWindowsPhone()) {\n                if (options.winphonedelay) {\n                    duration += parseInt(options.winphonedelay);\n                } else {\n                    duration += parseInt(getDefaultOptions().winphonedelay);\n                }\n            }\n            return duration;\n        }\n\n        function executePendingTransition() {\n            window.plugins.nativepagetransitions.executePendingTransition();\n            // $rootScope.$broadcast('ionicNativeTransitions.', executePendingTransition);\n            registerToStateChangeStartEvent();\n        }\n\n        function disablePendingTransition() {\n            // If native transition support cancelling transition (> 0.6.4), cancel pending transition\n            if (window.plugins && window.plugins.nativepagetransitions && angular.isFunction(window.plugins.nativepagetransitions.cancelPendingTransition)) {\n                window.plugins.nativepagetransitions.cancelPendingTransition();\n                registerToStateChangeStartEvent();\n            } else {\n                executePendingTransition();\n            }\n        }\n\n        function registerToRouteEvents() {\n            unregisterToRouteEvents();\n            registerToStateChangeStartEvent();\n            // $stateChangeSuccess = $rootScope.$on('$stateChangeSuccess', executePendingTransition);\n            $stateChangeError = $rootScope.$on('$stateChangeError', disablePendingTransition);\n            $stateAfterEnter = $rootScope.$on(getDefaultOptions().triggerTransitionEvent, executePendingTransition);\n        }\n\n        function registerToStateChangeStartEvent() {\n            if ($stateChangeStart) {\n                return;\n            }\n            $stateChangeStart = $rootScope.$on('$stateChangeStart', (event, toState, toParams, fromState, fromParams) => {\n                let options = null;\n                // Abort if event was preventDefault'ed\n                if (event.defaultPrevented) {\n                    return;\n                }\n                // Disable native transition for this state\n                if (toState.nativeTransitions === null) {\n                    $log.debug('[native transition] transition disabled for this state', toState);\n                    return;\n                }\n                options = getStateTransition(toState);\n                $log.debug('[native transition] $stateChangeStart', toState, options);\n                transition(options);\n            });\n        }\n\n        function getBackStateTransition(state) {\n            if (angular.isObject(state.nativeTransitionsBackIOS) && ionic.Platform.isIOS()) {\n                return angular.extend({}, state.nativeTransitionsBackIOS);\n            } else if (angular.isObject(state.nativeTransitionsBackAndroid) && ionic.Platform.isAndroid()) {\n                return angular.extend({}, state.nativeTransitionsBackAndroid);\n            } else if (angular.isObject(state.nativeTransitionsBackWindowsPhone) && ionic.Platform.isWindowsPhone()) {\n                return angular.extend({}, state.nativeTransitionsBackWindowsPhone);\n            } else if (angular.isObject(state.nativeTransitionsBack)) {\n                return angular.extend({}, state.nativeTransitionsBack);\n            }\n            return null;\n        }\n\n        function getStateTransition(state) {\n            if (angular.isObject(state.nativeTransitionsIOS) && ionic.Platform.isIOS()) {\n                return angular.extend({}, state.nativeTransitionsIOS);\n            } else if (angular.isObject(state.nativeTransitionsAndroid) && ionic.Platform.isAndroid()) {\n                return angular.extend({}, state.nativeTransitionsAndroid);\n            } else if (angular.isObject(state.nativeTransitionsWindowsPhone) && ionic.Platform.isWindowsPhone()) {\n                return angular.extend({}, state.nativeTransitionsWindowsPhone);\n            } else if (angular.isObject(state.nativeTransitions)) {\n                return angular.extend({}, state.nativeTransitions);\n            }\n            return null;\n        }\n\n        function unregisterToStateChangeStartEvent() {\n            if ($stateChangeStart && angular.isFunction($stateChangeStart)) {\n                $stateChangeStart();\n                $stateChangeStart = null;\n            }\n        }\n\n        function unregisterToRouteEvents() {\n            if ($stateChangeStart && angular.isFunction($stateChangeStart)) {\n                $stateChangeStart();\n                $stateChangeStart = null;\n            }\n            if ($stateChangeSuccess && angular.isFunction($stateChangeSuccess)) {\n                $stateChangeSuccess();\n                $stateChangeSuccess = null;\n            }\n            if ($stateChangeError && angular.isFunction($stateChangeError)) {\n                $stateChangeError();\n                $stateChangeError = null;\n            }\n            if ($stateAfterEnter && angular.isFunction($stateAfterEnter)) {\n                $stateAfterEnter();\n                $stateAfterEnter = null;\n            }\n        }\n\n        /**\n         * @ngdoc function\n         * @name ionic-native-transitions.$ionicNativeTransitions#getDefaultOptions\n         * @access public\n         * @methodOf ionic-native-transitions.$ionicNativeTransitions\n         *\n         * @description\n         * Get default options\n         */\n        function getDefaultOptions() {\n            return defaultOptions;\n        }\n\n        /**\n         * @ngdoc function\n         * @name ionic-native-transitions.$ionicNativeTransitions#init\n         * @access public\n         * @methodOf ionic-native-transitions.$ionicNativeTransitions\n         *\n         * @description\n         * Init nativepagetransitions plugin\n         */\n        function init() {\n            legacyGoBack = $rootScope.$ionicGoBack;\n            if (!isEnabled()) {\n                $log.debug('[native transition] The plugin is either disabled or nativepagetransitions plugin by telerik is not present. If you are getting this message in a browser, this is normal behavior, native transitions only work on device.');\n                return;\n            } else {\n                enableFromService();\n            }\n        }\n\n        /**\n         * @ngdoc function\n         * @name ionic-native-transitions.$ionicNativeTransitions#goBack\n         * @access public\n         * @methodOf ionic-native-transitions.$ionicNativeTransitions\n         * @description Navigate back in the current history stack with a back navigation transition\n         * @param {number} backCount - The number of views to go back to. default will be the previous view\n         */\n        function goBack(backCount) {\n\n            if (!$ionicHistory.backView()) {\n                // Close the app when no more history\n                if (navigator.app) {\n                    navigator.app.exitApp();\n                }\n                return;\n            }\n            if (backCount >= 0) {\n                return;\n            }\n            let stateName = $ionicHistory.backView().stateName;\n\n            // Use backCount to find next state only if its defined, else pass as it is to $ionicHistory.goBack\n            // which defaults to previous view transition\n            // Get current history stack and find the cursor for the new view\n            // Based on the new cursor, find the new state to transition to\n            if (!!backCount && !isNaN(parseInt(backCount))) {\n                let viewHistory = $ionicHistory.viewHistory();\n                let currentHistory = viewHistory.histories[$ionicHistory.currentView().historyId];\n                let newCursor = currentHistory.cursor + backCount;\n\n                // If new cursor is more than the max possible or less than zero, default it to first view in history\n                if (newCursor < 0 || newCursor > currentHistory.stack.length) {\n                    newCursor = 0;\n                }\n\n                stateName = currentHistory.stack[newCursor].stateName;\n            }\n            let currentStateTransition = angular.extend({}, $state.current);\n            let toStateTransition = angular.extend({}, $state.get(stateName));\n\n            unregisterToStateChangeStartEvent();\n            if (toStateTransition.nativeTransitionsBack === null) {\n                $log.debug('[native transition] transition disabled for this state', toStateTransition);\n                return $timeout(() => $ionicHistory.goBack(backCount)).then(() => registerToStateChangeStartEvent());\n            }\n            $log.debug('nativepagetransitions goBack', backCount, stateName, currentStateTransition, toStateTransition);\n            transition('back', currentStateTransition, toStateTransition);\n            return $timeout(() => $ionicHistory.goBack(backCount));\n        }\n    }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/provider.js\n **/","export default function($log, $ionicNativeTransitions, $state) {\n    'ngInject';\n\n    return {\n        controller: controller,\n        restrict: 'A',\n        scope: false\n    };\n\n    function controller($scope, $element, $attrs, $state) {\n        'ngInject';\n\n        let stateOptions = $scope.$eval($attrs.nativeUiSrefOpts) || {};\n        let nativeOptions = null;\n\n        $attrs.$observe('nativeOptions', (newOptions) => {\n            let evalOptions = $scope.$eval(newOptions);\n            nativeOptions = angular.isObject(evalOptions) ? evalOptions : {};\n        });\n\n        $element.on('click', (event) => {\n            let ref = parseStateRef($attrs.nativeUiSref, $state.current.name);\n            let params = angular.copy($scope.$eval(ref.paramExpr));\n            if (!$ionicNativeTransitions.isEnabled()) {\n                $state.go(ref.state, params, stateOptions);\n                return;\n            }\n\n            $ionicNativeTransitions.stateGo(ref.state, params, stateOptions, nativeOptions);\n        });\n    }\n}\n\nfunction parseStateRef(ref, current) {\n    var preparsed = ref.match(/^\\s*({[^}]*})\\s*$/),\n        parsed;\n    if (preparsed) ref = current + '(' + preparsed[1] + ')';\n    parsed = ref.replace(/\\n/g, \" \").match(/^([^(]+?)\\s*(\\((.*)\\))?$/);\n    if (!parsed || parsed.length !== 4) throw new Error(\"Invalid state ref '\" + ref + \"'\");\n    return {\n        state: parsed[1],\n        paramExpr: parsed[3] || null\n    };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/nativeSref.js\n **/","/**\n * @ngdoc service\n * @name ionic-native-transitions.$ionicNativeTransitions\n * @description\n * ionic-native-transitions service\n */\n/**\n * @ngdoc service\n * @name ionic-native-transitions.$ionicNativeTransitionsProvider\n * @description\n * ionic-native-transitions provider\n */\nexport default function($ionicNativeTransitions, $ionicPlatform, $ionicHistory, $rootScope) {\n    'ngInject';\n\n    $ionicPlatform.ready(() => {\n        $ionicNativeTransitions.init();\n    });\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/run.js\n **/"],"sourceRoot":""}