summaryrefslogtreecommitdiff
path: root/www/lib/ionic-native-transitions/test/controller.js
blob: a994d5ff99e9b66049f9f8b209b70609fa828891 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
export default function(
    $scope,
    $rootScope,
    $log,
    $ionicNativeTransitions,
    $ionicModal,
    $ionicPlatform,
    $ionicHistory
) {

    'ngInject';

    var vm = this;
    vm.modal = null;
    vm.isEnable = $ionicNativeTransitions.isEnabled();
    vm.enable = enable;
    vm.disable = disable;
    vm.stateGo = stateGo;
    vm.locationUrl = locationUrl;
    vm.disableWithoutDisablingIonicTransitions = disableWithoutDisablingIonicTransitions;
    vm.openModal = openModal;
    vm.goBack = goBack;

    $rootScope.$on('ionicNativeTransitions.success', function() {
        $log.info('yeah!');
    });

    $rootScope.$on('ionicNativeTransitions.error', function() {
        $log.info(':(');
    });

    function openModal() {
        if (vm.modal) {
            vm.modal.show();
            return;
        }
        vm.modal = $ionicModal.fromTemplate(`
            <ion-modal-view>
                <ion-header-bar>
                    <h1 class="title">Modal</h1>
                    <button class="button button-clear button-assertive" ng-click="close()">
                        <i class="icon ion-close"></i>
                    </button>
                </ion-header-bar>
                <ion-content class="has-footer has-footer padding">
                    modal
                </ion-content>
            </ion-modal-view>
            `, {
            scope: $rootScope.$new(),
        });
        vm.modal.show();
        vm.modal.scope.close = () => {
            console.log('modal close', JSON.stringify($ionicPlatform.$backButtonActions))
            vm.modal.remove();
            vm.modal = null;
        };
    }

    function enable() {
        $ionicNativeTransitions.enable();
        vm.isEnable = $ionicNativeTransitions.isEnabled();
    }

    function disable() {
        $ionicNativeTransitions.enable(false);
        vm.isEnable = $ionicNativeTransitions.isEnabled();
    }

    function disableWithoutDisablingIonicTransitions() {
        $ionicNativeTransitions.enable(false, true);
        vm.isEnable = $ionicNativeTransitions.isEnabled();
    }

    function stateGo() {
        $ionicNativeTransitions.stateGo('four', {
            test: 'buyakacha!',
            testParamUrl: 'hihi'
        }, {
            "type": "slide",
            "direction": "up", // 'left|right|up|down', default 'left' (which is like 'next')
            "duration": 1500, // in milliseconds (ms), default 400
        }, {
            reload: true
        });
    }

    function locationUrl() {
        $ionicNativeTransitions.locationUrl('/three');
    }

    function goBack(count) {
        console.log('count', count, $ionicHistory.viewHistory())
        $rootScope.$ionicGoBack(count);
    }
}