Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title>godView</title>
- <meta charset="utf-8">
- <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
- <link rel="stylesheet" href="css/leaflet.css" type="text/css" media="screen" />
- <link rel ="stylesheet" href="css/god_view.css" type="text/css" media="screen" />
- <link rel ="stylesheet" href="css/chosen.css" type="text/css" media="screen" />
- <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
- <script src="js/jquery.cookie.js" type="text/javascript"></script>
- <script src="js/jquery.ui.effects.min.js"></script>
- <script src="js/timezone.js"></script>
- <script type="text/javascript">
- $(function() {
- window.gvToken = null;
- // At this time, tools and partners use different approaches to authentication (partners is better)
- if (/tools/.test(location.host)) {
- gvToken = $.cookie('token');
- if (!gvToken) {
- $.cookie('redirect', '#/godview', {path: '/'});
- location.href = '/#/login';
- }
- } else if (/partners/.test(location.host)) {
- $("title").html("Live View");
- $("#app_title").html("LiveView");
- var user = $.parseJSON($.cookie('user'));
- gvToken = user.token;
- if (!gvToken) {
- location.href = '/';
- }
- } else if (!gvToken) {
- location.href = 'https://www.uber.com';
- }
- function currency(sSymbol, vValue) {
- aDigits = parseFloat(vValue).toFixed(2).split(".");
- aDigits[0] = aDigits[0].split("").reverse().join("").replace(/(\d{3})(?=\d)/g, "$1,").split("").reverse().join("");
- return sSymbol + aDigits.join(".");
- }
- if(/tools/.test(location.host)){
- var rrKeys = [];
- var rrCode = '49,48,16,54,56';
- var rrCode2 = '49,48,16,54,57';
- var soundCode = '77,79,16,52,52';
- var sound = 'cash_register.mp3'
- var $rr = $('#rr');
- $(window).bind('keydown', function(e){
- rrKeys.push(e.keyCode);
- if(rrKeys.toString().indexOf(soundCode) >= 0) {
- sound = 'straight_cash_homey.mp3';
- $rr.css('backgroundImage', 'url(/godview/img/moss.jpg)');
- rrKeys = rrCode.split(',');
- }
- if(rrKeys.toString().indexOf(rrCode2) >= 0) {
- rrKeys = [];
- $('body').find('embed').remove()
- $('body').append('<embed src="/godview/'+sound+'" autoplay="true" loop="false"></embed>');
- $.get('/api/metrics/run_rate?token='+gvToken, function(data){
- rr = currency('$', data.run_rate);
- $rr.css('backgroundImage', 'url(/godview/img/dr_evil.jpg)');
- $rr.text(rr);
- $rr.show('scale', {}, 2000, function() {
- $rr.show('shake', {}, 100, function() {
- $rr.hide('scale', {}, 1000);
- });
- });
- });
- }
- if(rrKeys.toString().indexOf(rrCode) >= 0) {
- rrKeys = [];
- $rr.css('backgroundImage', 'url(/godview/img/mission_accomplished.jpg)');
- $rr.text('');
- $rr.show('scale', {}, 2000, function() {
- $rr.show('shake', {}, 100, function() {
- $rr.hide('scale', {}, 1000);
- });
- });
- }
- });
- }
- });
- var getMultipliers = function() {
- var now = new Date();
- $.get('/api/dynamic_fares?limit=999999&token='+$.cookie('token'), function(data) {
- var dfares = data.resources;
- $.get('/api/cities?token='+$.cookie('token'), function(data) {
- cities = data;
- $.each(cities, function(n, city) {
- if (city.display_name === 'Washington Dc') {
- cities[n].display_name = 'Washington D.C.';
- }
- if (city.display_name === 'San Francisco') {
- cities[n].display_name = 'San Fransisco';
- }
- for (var i = 0; i < dfares.length; i++) {
- var end = Date.parse(dfares[i].end_at);
- var start = Date.parse(dfares[i].start_at);
- if (!dfares[i].deleted_at && end > now && start < now && dfares[i].city_id === city.id) {
- cities[n].dynamic_fare = dfares[i];
- break;
- }
- }
- });
- $('#citiesTable tr a').each(function() {
- $this = $(this);
- $.each(cities, function(n, city) {
- re = new RegExp(city.display_name);
- if (re.test($this.text())) {
- if (city.dynamic_fare) {
- var multiplier = city.dynamic_fare.fixed_multiplier;
- } else {
- var multiplier = 1;
- }
- $this.text(city.display_name+' ('+multiplier+'x)');
- }
- });
- });
- });
- });
- };
- $(document).on('click', '#globalTab', null, function() {
- getMultipliers();
- setInterval(function() {
- getMultipliers();
- }, 10000 * 60 * 2);
- });
- </script>
- <script type="text/javascript" src="js/leaflet.js"></script>
- <script type="text/javascript" src="js/chosen.min.js"></script>
- <script type="text/javascript" src="js/core.js"></script>
- <script type="text/javascript" src="js/dom.js"></script>
- <script type="text/javascript" src="js/core-ui.js"></script>
- <script type="text/javascript" src="js/scrollbar.js"></script>
- <script type="text/javascript" src="js/dynamic_checklist.js"></script>
- <script type="text/javascript" src="js/utils.js"></script>
- <script type="text/javascript" src="js/polyline_encoder.js"></script>
- <script type="text/javascript" src="js/application.js"></script>
- <script type="text/javascript" src="js/data.js"></script>
- <script type="text/javascript" src="js/events.js"></script>
- <script type="text/javascript" src="js/header.js"></script>
- <script type="text/javascript" src="js/sidebar.js"></script>
- <script type="text/javascript" src="js/global_panel.js"></script>
- <script type="text/javascript" src="js/city_panel.js"></script>
- <script type="text/javascript" src="js/cities_table.js"></script>
- <script type="text/javascript" src="js/drivers_clients_table.js"></script>
- <script type="text/javascript" src="js/trip_state_changes_table.js"></script>
- <script type="text/javascript" src="js/end-trip-dialog.js"></script>
- <script type="text/javascript" src="js/end-trip-message-box.js"></script>
- <script type="text/javascript" src="js/force-off-duty-message-box.js"></script>
- <script type="text/javascript" src="js/map.js"></script>
- <script type="text/javascript" src="js/global_map_view.js"></script>
- <script type="text/javascript" src="js/city_map_view.js"></script>
- <script type="text/javascript" src="js/client_icon.js"></script>
- <script type="text/javascript" src="js/driver_icon.js"></script>
- <script type="text/javascript" src="js/pickup_line.js"></script>
- <script type="text/javascript" src="js/trip_line.js"></script>
- <script type="text/javascript" src="js/city_circle.js"></script>
- <script type="text/javascript" src="js/drivers_selected_table.js"></script>
- <script type="text/javascript" src="js/text-drivers-dialog.js"></script>
- </head>
- <body onload="Application.init(gvToken)">
- <div id="rr"></div>
- <div id="header">
- <img id="logo" src="img/logo.png" />
- <span id="appTitle">God View</span>
- <input id="searchInput" placeholder="Search" />
- <select id="citySelect">
- <option value="">GLOBAL</option>
- </select>
- <div id="localTime"></div>
- <div id="utilization">(0 / 0) 0.0%</div>
- <div id="averageRating">Avg: 5/5</div>
- </div>
- <div id="expandButton">
- <div class="expandArrow"></div>
- </div>
- <div id="sidebar">
- <div id="globalPanel">
- <div id="globalPanelHeader">
- <span id="globalPanelTitle">Global</span>
- </div>
- <table id="citiesTableHeader" cellspacing="0" cellpadding="0">
- </table>
- <div id="citiesTableFrame">
- <table id="citiesTable" cellspacing="0" cellpadding="0">
- </table>
- </div>
- </div>
- <div id="cityPanel">
- <div id="cityPanelHeader">
- <span id="displayAllTab" class="sidebarTabSelected">All</span>
- <span id="displayTripsTab" class="sidebarTab"><a href="#">Trips</a></span>
- <span id="displayDispatchedTab" class="sidebarTab"><a href="#">Dispatched</a></span>
- <span id="displayOpenDriversTab" class="sidebarTab"><a href="#">Open Drivers</a></span>
- </div>
- <div id="contractButton">
- <div class="contractArrow"></div>
- </div>
- <div id="expandButton2">
- <div class="expandArrow2"></div>
- </div>
- <table id="driversClientsTableHeader" cellspacing="0" cellpadding="0">
- <tr>
- </tr>
- </table>
- <div id="driversClientsTableFrame">
- <table id="driversClientsTable" cellspacing="0" cellpadding="0">
- </table>
- </div>
- </div>
- </div>
- <div id="map"></div>
- <div id="mapRightColumn">
- <div id="vehicleViewsChecklist"></div>
- <div id="mapOptionsChecklist"></div>
- <div id="driversSelected">
- <span><a id="textDrivers-button" class="button">Text Selected Drivers</a></span>
- </div>
- </div>
- <div id="tripStateChanges">
- <span id="tripStateChangesLabel">Client:</span><span id="tripStateChangesTitle"></span>
- <span><a id="endTripButton" class="button">End Trip</a></span>
- <table id="tripStateChangesTable" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tableHeader" style="border-bottom: none;" width="80">Timestamp</td>
- <td class="tableHeader" style="border-bottom: none;" width="110">Driver</td>
- <td class="tableHeader" style="border-bottom: none;" width="90">State</td>
- </tr>
- </table>
- </div>
- <div id="endTripDialog">
- <div id="endTripDialog-header">
- <span id="endTripDialog-title">End Trip</span>
- </div>
- <div id="endTripDialog-tripInfo">
- <span id="endTripDialog-clientLabel">Client:</span>
- <span id="endTripDialog-clientName"></span>
- <span id="endTripDialog-driverLabel">Driver:</span>
- <span id="endTripDialog-driverName"></span>
- </div>
- <div id="endTripDialog-cancelTripByClientOptionContainer" class="endTripDialog-optionContainer">
- <input id="endTripDialog-cancelTripByClientOption" type="radio" name="endTripType" />
- <label for="endTripDialog-cancelTripByClientOption" class="endTripDialog-optionLabel">Cancel Trip (by Client)</label>
- <span class="endTripDialog-optionDescription">Effects the same behavior as if the client canceled the trip.</span>
- </div>
- <div id="endTripDialog-cancelTripByDriverOptionContainer" class="endTripDialog-optionContainer">
- <input id="endTripDialog-cancelTripByDriverOption" type="radio" name="endTripType" />
- <label for="endTripDialog-cancelTripByDriverOption" class="endTripDialog-optionLabel">Cancel Trip (by Driver)</label>
- <span class="endTripDialog-optionDescription">Effects the same behavior as if the driver canceled the trip.</span>
- </div>
- <div id="endTripDialog-dropoffOptionContainer" class="endTripDialog-optionContainer">
- <input id="endTripDialog-dropoffOption" type="radio" name="endTripType" />
- <label for="endTripDialog-dropoffOption" class="endTripDialog-optionLabel">Dropoff</label>
- <span class="endTripDialog-optionDescription">Effects the same behavior as if the driver dropped off the client.</span>
- </div>
- <div id="endTripDialog-buttons">
- <a id="endTripDialog-okButton" href="#">OK</a>
- <a id="endTripDialog-cancelButton" href="#">Cancel</a>
- </div>
- </div>
- <div id="endTripMessageBox">
- <div id="endTripMessageBox-title"></div>
- <div id="endTripMessageBox-message"></div>
- <div id="endTripMessageBox-clientInfo">
- <span id="endTripMessageBox-clientLabel">Client:</span>
- <span id="endTripMessageBox-clientName"></span>
- </div>
- <div id="endTripMessageBox-driverInfo">
- <span id="endTripMessageBox-driverLabel">Driver:</span>
- <span id="endTripMessageBox-driverName"></span>
- </div>
- <div id="endTripMessageBox-tripInfo">
- <span id="endTripMessageBox-tripLabel">Trip ID:</span>
- <span id="endTripMessageBox-tripID"></span>
- </div>
- <div id="endTripMessageBox-fareInfo">
- <span id="endTripMessageBox-fareLabel">Fare:</span>
- <span id="endTripMessageBox-fare"></span>
- </div>
- <div id="endTripMessageBox-buttons">
- <a id="endTripMessageBox-okButton" href="#">OK</a>
- </div>
- </div>
- <div id="forceOffDutyMessageBox">
- <div id="forceOffDutyMessageBox-title"></div>
- <div id="forceOffDutyMessageBox-message"></div>
- <div id="forceOffDutyMessageBox-buttons">
- <a id="forceOffDutyMessageBox-okButton" href="#">OK</a>
- </div>
- </div>
- <div id="textDriversDialog">
- <div id="textDriversDialog-title">Send text message to selected drivers</div>
- <div class="textDriversDialog-row">
- <span class="textDriversDialog-label">Drivers:</span>
- <select id="textDriversDialog-driversSelect" name="driver_ids" multiple></select>
- </div>
- <div class="textDriversDialog-row">
- <span class="textDriversDialog-label">Message:</span>
- <textarea name="textDriversDialog-message"></textarea>
- <span id='textDriversDialog-charsRemaining'>160</span>
- </div>
- <div class="textDriversDialog-row textDriversDialog-status">
- <span class="textDriversDialog-label">Status:</span>
- <span id='textDriversDialog-status'>Sending ....</span>
- </div>
- <div id="textDriversDialog-buttons">
- <a id="textDriversDialog-cancelButton" href="#" class="button">CANCEL</a>
- <a id="textDriversDialog-sendButton" href="#" class="button">SEND</a>
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement