diff --git a/build.py b/build.py index db700dcf72..504cf8054e 100755 --- a/build.py +++ b/build.py @@ -417,7 +417,7 @@ def build_lint_src_timestamp(t): virtual('jshint', 'build/jshint-timestamp') @target('build/jshint-timestamp', SRC, EXAMPLES_SRC_JS, SPEC, SPEC_RENDERING, - TASKS, NPM_INSTALL, precious=True) + 'examples/resources/common.js', TASKS, NPM_INSTALL, precious=True) def build_jshint_timestamp(t): t.run(variables.JSHINT, '--verbose', t.newer(t.dependencies)) t.touch() diff --git a/examples/resources/common.js b/examples/resources/common.js index 00d563c128..91411c97b9 100644 --- a/examples/resources/common.js +++ b/examples/resources/common.js @@ -1,4 +1,4 @@ -;(function() { +(function() { var copyButton = document.getElementById('copy-button'); if (copyButton) { var data = document.getElementById('example-source').textContent; @@ -13,42 +13,35 @@ if (window.location.host === 'localhost:3000') { return; } - var container = document.getElementById('navbar-inner-container'), - form = document.createElement('form'), - select = document.createElement('select'), - possibleModes = { - 'raw' : 'Development', - 'advanced': 'Production' - }, - urlMode = window.location.href.match(/mode=([a-z0-9\-]+)\&?/i), - curMode = urlMode ? urlMode[1] : 'advanced', - option, - modeIdx, - mode, - modeTxt, - modeChangedMethod; + var container = document.getElementById('navbar-inner-container'); if (!container) { return; } - modeChangedMethod = function() { - var newMode = this.value, - search = window.location.search.substring(1), - baseUrl = window.location.href.split('?')[0], - chunks = search ? search.split('&') : [], - pairs = [], - i, - pair, - adjusted, - modeFound = false; - for (i = chunks.length - 1; i >= 0; --i) { - pair = chunks[i].split('='); + var form = document.createElement('form'); + var select = document.createElement('select'); + var possibleModes = { + 'raw' : 'Development', + 'advanced': 'Production' + }; + var urlMode = window.location.href.match(/mode=([a-z0-9\-]+)\&?/i); + var curMode = urlMode ? urlMode[1] : 'advanced'; + + var modeChangedMethod = function() { + var newMode = this.value; + var search = window.location.search.substring(1); + var baseUrl = window.location.href.split('?')[0]; + var chunks = search ? search.split('&') : []; + var pairs = []; + var modeFound = false; + for (var i = chunks.length - 1; i >= 0; --i) { + var pair = chunks[i].split('='); if (pair[0].toLowerCase() === 'mode') { pair[1] = newMode; modeFound = true; } - adjusted = encodeURIComponent(pair[0]); + var adjusted = encodeURIComponent(pair[0]); if (typeof pair[1] !== undefined) { adjusted += '=' + encodeURIComponent(pair[1] || ''); } @@ -60,10 +53,10 @@ location.href = baseUrl + '?' + pairs.join('&'); }; - for (mode in possibleModes) { - if ( possibleModes.hasOwnProperty(mode) ) { - option = document.createElement('option'); - modeTxt = possibleModes[mode]; + for (var mode in possibleModes) { + if (possibleModes.hasOwnProperty(mode)) { + var option = document.createElement('option'); + var modeTxt = possibleModes[mode]; option.value = mode; option.innerHTML = modeTxt; option.selected = curMode === mode; @@ -83,11 +76,14 @@ var exampleNS = {}; exampleNS.getRendererFromQueryString = function() { - var obj = {}, queryString = location.search.slice(1), - re = /([^&=]+)=([^&]*)/g, m; + var obj = {}; + var queryString = location.search.slice(1); + var re = /([^&=]+)=([^&]*)/g; - while (m = re.exec(queryString)) { + var m = re.exec(queryString); + while (m) { obj[decodeURIComponent(m[1])] = decodeURIComponent(m[2]); + m = re.exec(queryString); } if ('renderers' in obj) { return obj['renderers'].split(',');