-
Notifications
You must be signed in to change notification settings - Fork 112
/
Copy pathcontroller.js
124 lines (107 loc) · 3.52 KB
/
controller.js
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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.sameStateGo = sameStateGo;
vm.locationUrl = locationUrl;
vm.disableWithoutDisablingIonicTransitions = disableWithoutDisablingIonicTransitions;
vm.enableBothTransitions = enableBothTransitions;
vm.openModal = openModal;
vm.goBack = goBack;
vm.stateError = stateError;
$scope.$on('$ionicView.loaded', function (event, data) {
console.log('$ionicView.loaded');
});
$scope.$on('$ionicView.enter', function (event, data) {
console.log('$ionicView.enter');
});
$rootScope.$on('ionicNativeTransitions.success', function () {
$log.info('yeah!');
});
$rootScope.$on('ionicNativeTransitions.error', function () {
$log.info(':(');
});
$rootScope.$on('ionicNativeTransitions.beforeTransition', function () {
$log.info('Transition is about to happen');
});
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 enableBothTransitions() {
$ionicNativeTransitions.enable(true, false);
vm.isEnable = $ionicNativeTransitions.isEnabled();
}
function sameStateGo(reload = false) {
$ionicNativeTransitions.stateGo('tabs.home', {}, { reload });
}
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);
}
function stateError() {
$ionicNativeTransitions.stateGo('five');
}
}