Refactor common example script and run the linter on it

This commit is contained in:
Tim Schaub
2015-04-17 09:40:03 -06:00
parent f2600977ae
commit eff14b06e0
2 changed files with 32 additions and 36 deletions

View File

@@ -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()

View File

@@ -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) {
for (var mode in possibleModes) {
if (possibleModes.hasOwnProperty(mode)) {
option = document.createElement('option');
modeTxt = possibleModes[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(',');