aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gruntfile.js11
-rw-r--r--demos/bootstrap.js60
-rw-r--r--demos/demos.css4
3 files changed, 74 insertions, 1 deletions
diff --git a/Gruntfile.js b/Gruntfile.js
index 3018702f5..c4acdb7fc 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -205,9 +205,18 @@ grunt.initConfig({
},
uglify: minify,
htmllint: {
- good: [ "demos/**/*.html", "tests/**/*.html" ].concat( htmllintBad.map( function( file ) {
+ good: [ "tests/**/*.html" ].concat( htmllintBad.map( function( file ) {
return "!" + file;
} ) ),
+ demos: {
+ options: {
+ ignore: [
+ /The text content of element “script” was not in the required format: Expected space, tab, newline, or slash but found “.” instead/
+ ] },
+ src: [ "demos/**/*.html" ].concat( htmllintBad.map( function( file ) {
+ return "!" + file;
+ } ) )
+ },
bad: {
options: {
ignore: [
diff --git a/demos/bootstrap.js b/demos/bootstrap.js
new file mode 100644
index 000000000..c82ecc1b0
--- /dev/null
+++ b/demos/bootstrap.js
@@ -0,0 +1,60 @@
+/* globals window:true, document:true */
+( function() {
+
+// Find the script element
+var scripts = document.getElementsByTagName( "script" );
+var script = scripts[ scripts.length - 1 ];
+
+// Read the modules
+var modules = script.getAttribute( "data-modules" );
+var pathParts = window.location.pathname.split( "/" );
+var effectsAll = [
+ "effect-blind",
+ "effect-bounce",
+ "effect-clip",
+ "effect-drop",
+ "effect-explode",
+ "effect-fade",
+ "effect-fold",
+ "effect-highlight",
+ "effect-puff",
+ "effect-pulsate",
+ "effect-scale",
+ "effect-shake",
+ "effect-size",
+ "effect-slide"
+];
+
+// Hide the page while things are loading to prevent a FOUC
+document.documentElement.className = "demo-loading";
+
+require.config( {
+ baseUrl: "../../ui",
+ paths: {
+ jquery: "../external/jquery/jquery",
+ external: "../external/"
+ },
+ shim: {
+ "external/globalize/globalize.culture.de-DE": [ "external/globalize/globalize" ],
+ "external/globalize/globalize.culture.ja-JP": [ "external/globalize/globalize" ]
+ }
+} );
+
+// Replace effects all shortcut modules with all the effects modules
+if ( modules && modules.indexOf( "effects-all" ) !== -1 ) {
+ modules = modules.replace( /effects-all/, effectsAll.join( " " ) );
+}
+
+modules = modules ? modules.replace( /^\s+|\s+$/g, "" ).split( /\s+/ ) : [];
+modules.push( pathParts[ pathParts.length - 2 ] );
+
+require( modules, function() {
+ var newScript = document.createElement( "script" );
+
+ document.documentElement.className = "";
+
+ newScript.text = "( function() { " + script.innerHTML + " } )();";
+ document.head.appendChild( script ).parentNode.removeChild( script );
+} );
+
+} )();
diff --git a/demos/demos.css b/demos/demos.css
index 405425328..0b5b5ee49 100644
--- a/demos/demos.css
+++ b/demos/demos.css
@@ -2,6 +2,10 @@ body {
font-family: Arial, Helvetica, sans-serif;
}
+.demo-loading {
+ visibility: hidden;
+}
+
table {
font-size: 1em;
}