1 | import './ons/platform.js';
|
2 | import './polyfills/index.js';
|
3 | import './vendor/index.js';
|
4 | import './ons/microevent.js';
|
5 | import internal from './ons/internal/index.js';
|
6 |
|
7 | export default function setup(ons) {
|
8 | internal.waitDOMContentLoaded(function() {
|
9 | register('script[type="text/template"]');
|
10 | register('script[type="text/ng-template"]');
|
11 | register('template');
|
12 |
|
13 | function register(query) {
|
14 | const templates = window.document.querySelectorAll(query);
|
15 | for (let i = 0; i < templates.length; i++) {
|
16 | internal.templateStore.set(templates[i].getAttribute('id'), templates[i].textContent || templates[i].content);
|
17 | }
|
18 | }
|
19 | });
|
20 |
|
21 | if (window._onsLoaded) {
|
22 | ons._util.warn('Onsen UI is loaded more than once.');
|
23 | }
|
24 | window._onsLoaded = true;
|
25 |
|
26 | ons.ready(function() {
|
27 | ons.enableDeviceBackButtonHandler();
|
28 | ons._defaultDeviceBackButtonHandler = ons._internal.dbbDispatcher.createHandler(window.document.body, () => {
|
29 | if (Object.hasOwnProperty.call(navigator, 'app')) {
|
30 | navigator.app.exitApp();
|
31 | } else {
|
32 | console.warn('Could not close the app. Is \'cordova.js\' included?\nError: \'window.navigator.app\' is undefined.');
|
33 | }
|
34 | });
|
35 | document.body._gestureDetector = new ons.GestureDetector(document.body, { passive: true });
|
36 |
|
37 |
|
38 | if (!ons.platform.isWebView()) {
|
39 | document.body.addEventListener('keydown', function(event) {
|
40 | if (event.keyCode === 27) {
|
41 | ons.fireDeviceBackButtonEvent();
|
42 | }
|
43 | });
|
44 | }
|
45 |
|
46 |
|
47 | ons._setupLoadingPlaceHolders();
|
48 | });
|
49 |
|
50 |
|
51 | Viewport.setup();
|
52 | }
|