Browse Source

Added general ES5 compatibility check and refuse to start when no Object.create support is found.

pull/67/head
Simon Eisenmann 11 years ago
parent
commit
c25834703a
  1. 85
      static/js/main.js

85
static/js/main.js

@ -157,50 +157,57 @@ require.onError = (function() {
}; };
}()); }());
define([ // Make sure the browser knows ES5.
'jquery', if (Object.create) {
'underscore',
'angular',
'require',
'base'], function($, _, angular, require) {
// Dynamic app loader with plugin support. define([
var load = ['app']; 'jquery',
_.each(document.getElementsByTagName('script'), function(script) { 'underscore',
var dataPlugin = script.getAttribute('data-plugin'); 'angular',
if (dataPlugin) { 'require',
load.push(dataPlugin); 'base'], function($, _, angular, require) {
}
}); // Dynamic app loader with plugin support.
require(load, function(App) { var load = ['app'];
var args = Array.prototype.slice.call(arguments, 1); _.each(document.getElementsByTagName('script'), function(script) {
// Add Angular modules from plugins. var dataPlugin = script.getAttribute('data-plugin');
var modules = []; if (dataPlugin) {
_.each(args, function(plugin) { load.push(dataPlugin);
if (plugin && plugin.module) {
plugin.module(modules);
} }
}); });
// External plugin support. require(load, function(App) {
var externalPlugin var args = Array.prototype.slice.call(arguments, 1);
if (window.externalPlugin) { // Add Angular modules from plugins.
externalPlugin = window.externalPlugin($, _, angular); var modules = [];
if (externalPlugin && externalPlugin.module) { _.each(args, function(plugin) {
externalPlugin.module(modules); if (plugin && plugin.module) {
plugin.module(modules);
}
});
// External plugin support.
var externalPlugin
if (window.externalPlugin) {
externalPlugin = window.externalPlugin($, _, angular);
if (externalPlugin && externalPlugin.module) {
externalPlugin.module(modules);
}
} }
} // Init Angular app.
// Init Angular app. var app = App.initialize(modules);
var app = App.initialize(modules); // Init plugins.
// Init plugins. _.each(args, function(plugin) {
_.each(args, function(plugin) { if (plugin && plugin.initialize) {
if (plugin && plugin.initialize) { plugin.initialize(app);
plugin.initialize(app); }
});
// Init external plugin.
if (externalPlugin && externalPlugin.initialize) {
externalPlugin.initialize(app);
} }
}); });
// Init external plugin.
if (externalPlugin && externalPlugin.initialize) {
externalPlugin.initialize(app);
}
}); });
}); } else {
alert("Your browser does not support this application. Please update your browser to the latest version.");
}
Loading…
Cancel
Save