Permalink
Browse files

Demos: Add new infrastructure using a require.js bootstrap

Fixes #10119
Closes gh-1557
  • Loading branch information...
1 parent 62446d9 commit 7336a5869ceb2bf27779b5f089277c365fc7d278 @arschmitz arschmitz committed May 14, 2015
Showing with 74 additions and 1 deletion.
  1. +10 −1 Gruntfile.js
  2. +60 −0 demos/bootstrap.js
  3. +4 −0 demos/demos.css
View
@@ -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: [
View
@@ -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 );
+} );
+
+} )();
View
@@ -2,6 +2,10 @@ body {
font-family: Arial, Helvetica, sans-serif;
}
+.demo-loading {
+ visibility: hidden;
+}
+
table {
font-size: 1em;
}

0 comments on commit 7336a58

Please sign in to comment.