diff options
author | talasila <talasila@research.att.com> | 2017-02-07 15:03:57 -0500 |
---|---|---|
committer | talasila <talasila@research.att.com> | 2017-02-07 15:05:15 -0500 |
commit | 4ad39a5c96dd99acf819ce189b13fec946d7506b (patch) | |
tree | a1449286441947cc3d07a45227fa0d6f978e1a7d /ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js | |
parent | 5500448cbd1f374d0ac743ee2fd636fe2d3c0027 (diff) |
Initial OpenECOMP Portal commit
Change-Id: I804b80e0830c092e307da1599bd9fbb5c3e2da77
Signed-off-by: talasila <talasila@research.att.com>
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js')
-rw-r--r-- | ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js b/ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js new file mode 100644 index 00000000..e3ed64b2 --- /dev/null +++ b/ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js @@ -0,0 +1,131 @@ +;(function(window) { + 'use strict'; + + /** The base path of the lodash builds. */ + var basePath = '../'; + + /** The lodash build to load. */ + var build = (build = /build=([^&]+)/.exec(location.search)) && decodeURIComponent(build[1]); + + /** The other library to load. */ + var other = (other = /other=([^&]+)/.exec(location.search)) && decodeURIComponent(other[1]); + + /** The `ui` object. */ + var ui = {}; + + /*--------------------------------------------------------------------------*/ + + /** + * Registers an event listener on an element. + * + * @private + * @param {Element} element The element. + * @param {string} eventName The name of the event. + * @param {Function} handler The event handler. + * @returns {Element} The element. + */ + function addListener(element, eventName, handler) { + if (typeof element.addEventListener != 'undefined') { + element.addEventListener(eventName, handler, false); + } else if (typeof element.attachEvent != 'undefined') { + element.attachEvent('on' + eventName, handler); + } + } + + /*--------------------------------------------------------------------------*/ + + // Initialize controls. + addListener(window, 'load', function() { + function eventHandler(event) { + var buildIndex = buildList.selectedIndex, + otherIndex = otherList.selectedIndex, + search = location.search.replace(/^\?|&?(?:build|other)=[^&]*&?/g, ''); + + if (event.stopPropagation) { + event.stopPropagation(); + } else { + event.cancelBubble = true; + } + location.href = + location.href.split('?')[0] + '?' + + (search ? search + '&' : '') + + 'build=' + (buildIndex < 0 ? build : buildList[buildIndex].value) + '&' + + 'other=' + (otherIndex < 0 ? other : otherList[otherIndex].value); + } + + var span1 = document.createElement('span'); + span1.style.cssText = 'float:right'; + span1.innerHTML = + '<label for="perf-build">Build: </label>' + + '<select id="perf-build">' + + '<option value="lodash">lodash</option>' + + '</select>'; + + var span2 = document.createElement('span'); + span2.style.cssText = 'float:right'; + span2.innerHTML = + '<label for="perf-other">Other Library: </label>' + + '<select id="perf-other">' + + '<option value="underscore-dev">Underscore (development)</option>' + + '<option value="underscore">Underscore (production)</option>' + + '<option value="lodash">lodash</option>' + + '</select>'; + + var buildList = span1.lastChild, + otherList = span2.lastChild, + toolbar = document.getElementById('perf-toolbar'); + + toolbar.appendChild(span2); + toolbar.appendChild(span1); + + buildList.selectedIndex = (function() { + switch (build) { + case 'lodash': + case null: return 0; + } + return -1; + }()); + + otherList.selectedIndex = (function() { + switch (other) { + case 'underscore-dev': return 0; + case 'lodash': return 2; + case 'underscore': + case null: return 1; + } + return -1; + }()); + + addListener(buildList, 'change', eventHandler); + addListener(otherList, 'change', eventHandler); + }); + + // The lodash build file path. + ui.buildPath = (function() { + var result; + switch (build) { + case null: build = 'lodash'; + case 'lodash': result = 'dist/lodash.min.js'; break; + default: return build; + } + return basePath + result; + }()); + + // The other library file path. + ui.otherPath = (function() { + var result; + switch (other) { + case 'lodash': result = 'dist/lodash.min.js'; break; + case 'underscore-dev': result = 'vendor/underscore/underscore.js'; break; + case null: other = 'underscore'; + case 'underscore': result = 'vendor/underscore/underscore-min.js'; break; + default: return other; + } + return basePath + result; + }()); + + ui.urlParams = { 'build': build, 'other': other }; + + window.ui = ui; + +}(this)); |