2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 /*jslint devel: true*/
18 /*global $, tizen, App */
21 * This file acts as a loader for the application and its dependencies
23 * First, the 'app.js' script is loaded .
24 * Then, scripts defined in 'app.requires' are loaded.
25 * Finally, the app is initialised - the app is instantiated ('app = new App()')
26 * and 'app.init()' is called.
32 (function () { // strict mode wrapper
37 * Loader init - load the App constructor
39 init: function init() {
40 console.log('Loader init()');
42 $.getScript('js/app.js')
43 .done(function onAppLoaded() {
44 // once the app is loaded, create the app object
45 // and load the libraries
49 .fail(this.onGetScriptError);
54 loadLibs: function loadLibs() {
55 console.log('Loader loadLibs()');
57 if ($.isArray(app.requires)) {
58 $.each(app.requires, function onLibLoaded(index, filename) {
59 console.log('Trying to load ' + filename + '...');
63 console.log(loadedLibs + ' libs loaded');
64 if (loadedLibs >= app.requires.length) {
65 // All dependencies are loaded - initialise the app
66 console.log('App.init()');
71 console.error('Loading libs failed');
80 onGetScriptError: function onGetScriptError(e, jqxhr, setting, exception) {
81 alert('An error occurred: ' + e.message);
83 }).init(); // run the loader