UNPKG

1.73 kBJavaScriptView Raw
1import './ons/platform.js'; // This file must be loaded before Custom Elements polyfills.
2import './polyfills/index.js';
3import './vendor/index.js';
4import './ons/microevent.js';
5import internal from './ons/internal/index.js';
6
7export 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 // Simulate Device Back Button on ESC press
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 // setup loading placeholder
47 ons._setupLoadingPlaceHolders();
48 });
49
50 // viewport.js
51 Viewport.setup();
52}