You will need Git (or a copy of the distribution) and Perforce.
Follow the steps in
https://wiki.ariba.com:8443/display/ENGKB/Setup+the+Visualizer+Project
| {% extends 'dh5bp/base_script_in_head.html' %} | |
| {% load staticfiles %} | |
| {% load url from future %} | |
| {% block title %}{APP_TITLE}{% endblock %} | |
| {% block head %} | |
| <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" /> | |
| <meta name="apple-mobile-web-app-capable" content="yes" /> | |
| <meta name="apple-mobile-web-app-status-bar-style" content="black" /> | |
| <link rel="apple-touch-startup-image" href="{% static '{STATIC_IMAGE_PATH}/startup-image.png' %}"> |
You will need Git (or a copy of the distribution) and Perforce.
Follow the steps in
https://wiki.ariba.com:8443/display/ENGKB/Setup+the+Visualizer+Project
| // Modified from http://mattsnider.com/cross-browser-and-legacy-supported-requestframeanimation/ | |
| // LICENSE: MIT: http://mattsnider.com/projects/license/ | |
| (function(w) { | |
| "use strict"; | |
| // most browsers have an implementation | |
| w.requestAnimationFrame = w.requestAnimationFrame || | |
| w.mozRequestAnimationFrame || w.webkitRequestAnimationFrame || | |
| w.msRequestAnimationFrame; | |
| w.cancelAnimationFrame = w.cancelAnimationFrame || |
| """ | |
| This tool can be used to mirror files from a source directory to a destination | |
| directory. You can specify one file using `destination` and `source` or define | |
| many files using `source_map` (a csv with source,destination file per line). | |
| """ | |
| import argparse | |
| import os | |
| import time |
| #!/bin/bash | |
| # expects python is installed with OS distribution | |
| # single line command for execution | |
| # wget -O - <RAW_URL> | bash | |
| # determine environment | |
| if hash apt-get 2>/dev/null; then | |
| echo "Bootstrapping UBUNTU" | |
| UBUNTU=true |
| (function(w, d) { | |
| "use strict"; | |
| // simple cookie writer | |
| function createCookie(sName, sValue, sPath, sDomain, iMillis) { | |
| var aCookie = [encodeURI(sName) + "=" + encodeURI(sValue)], | |
| expires, oDate; | |
| if (iMillis) { | |
| oDate = new Date(); | |
| oDate.setTime(oDate.getTime() + iMillis); |
| var HashHack = { | |
| PREFIX: '#hhMessage=', | |
| postMessage: function(el, sMessage) { | |
| if ('string' === typeof el) { | |
| el = document.getElementById(el); | |
| } | |
| var sUrl = el.src.replace(/#.*/, ''); | |
| el.src = sUrl + HashHack.PREFIX + encodeURIComponent(sMessage); |
| var HashHack = { | |
| PREFIX: '#hhMessage=', | |
| aCallbacks: [], | |
| sLastHash: '', | |
| handleInterval: function() { | |
| var sHash = window.location.hash, | |
| sDecodedHash, sMessage, i; | |
| if (sHash !== HashHack.sLastHash) { |
| function annotate(fnToAnnotate) { | |
| // already annotation aware, use the original annotation chain | |
| if (fnToAnnotate.by) { | |
| return fnToAnnotate; | |
| } | |
| var aAnnotationChain = [fnToAnnotate]; | |
| function applyChainFunctions(fn) { | |
| fn.by = function(fnAnnotation, arg1, /*...*/ argN) { |
| (function(w) { | |
| // Create the Event Function wrappers | |
| if (w.addEventListener) { | |
| // standards compliant method | |
| w.addListener = function(el, eType, fn, capture) { | |
| el.addEventListener(eType, fn, capture); | |
| }; | |
| w.removeListener = function (el, eType, fn, capture) { | |
| el.removeEventListener(eType, fn, capture); | |
| }; |