summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js
diff options
context:
space:
mode:
authortalasila <talasila@research.att.com>2017-02-07 15:03:57 -0500
committertalasila <talasila@research.att.com>2017-02-07 15:05:15 -0500
commit4ad39a5c96dd99acf819ce189b13fec946d7506b (patch)
treea1449286441947cc3d07a45227fa0d6f978e1a7d /ecomp-portal-FE/client/bower_components/lodash/perf/asset/perf-ui.js
parent5500448cbd1f374d0ac743ee2fd636fe2d3c0027 (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.js131
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));