Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4403 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

<?php

use LeadersLinked\Library\Functions;




$routeDatatableTransaction = $this->url('account-settings/transactions');
$routeDatatableBrowser = $this->url('account-settings/browsers');
$routeDatatableIp = $this->url('account-settings/ips');
$routeDatatableDevice = $this->url('account-settings/devices');
$routeAddFund = $this->url('account-settings/transactions/add-funds');
$routeAddFacebook = $this->url('account-settings/add-facebook');
$routeRemoveFacebook = $this->url('account-settings/remove-facebook');
$routeAddTwitter = $this->url('account-settings/add-twitter');
$routeRemoveTwitter = $this->url('account-settings/remove-twitter');
$routeAddGoogle = $this->url('account-settings/add-google');
$routeRemoveGoogle = $this->url('account-settings/remove-google');
$routeDatatableTransaction = $this->url('account-settings/transactions');
$routeAddFund = $this->url('account-settings/transactions/add-funds');
$routeDatatableBrowser = $this->url('account-settings/browsers');
$routeDatatableIp = $this->url('account-settings/ips');
$routeDatatableDevice = $this->url('account-settings/devices');

$this->inlineScript()->appendFile('https://maps.googleapis.com/maps/api/js?key=' . $google_map_key . '&libraries=places');


$error_msg = "Por favor seleccione una ubicación real";


$timezones = [];
$amountsJson = json_encode($amounts);
$records = Functions::getAllTimeZones();
foreach($records as $record)
{
    $record = trim($record);  
    $timezones[ $record ] = $record;
}




$timezones = json_encode( $timezones );
$js = <<<JS


const backendVars = {
  twitter: $twitter,
  facebook: $facebook,
  google: $google,
  socialNetworkRoutes: {
    twitter:{
      add: '$routeAddTwitter',
      remove: '$routeRemoveTwitter',
    },
    facebook:{
      add: '$routeAddFacebook',
      remove: '$routeRemoveFacebook'
    },
    google: {
      add: '$routeAddGoogle',
      remove: '$routeRemoveGoogle'
    }
  },
  routeTransactions: '$routeDatatableTransaction',
  routeAddFunds: '$routeAddFund',
  balance: '$balance',
  amounts: JSON.parse('$amountsJson'),
  routeBrowsers: '$routeDatatableBrowser',
  routeIPs: '$routeDatatableIp',
  routeDevices: "$routeDatatableDevice",
  timezones: JSON.parse('$timezones'),
  defaultNetwork: '$defaultNetwork',  
}

// autoComplete place
let autoComplete;

function handleScriptLoad(updateQuery, autoCompleteRef, setAddresObject, setError) {
  autoComplete = new window.google.maps.places.Autocomplete(
    autoCompleteRef.current,
    { types: ["(cities)"]}
  );
  autoComplete.setFields(["address_components", "formatted_address", "geometry"]);
  autoComplete.addListener("place_changed", () =>
    handlePlaceSelect(updateQuery, setAddresObject, setError)
  );
}

async function handlePlaceSelect(updateQuery, setAddresObject, setError) {
  const addressObject = autoComplete.getPlace();
  // console.log(addressObject.geometry.location.lat());
  // console.log(addressObject.geometry.location.lng());
  const query = addressObject.formatted_address;
  if(query){
    setError("");
    updateQuery(query);
    setAddresObject({...addressObject, address_components:[...addressObject.address_components, {latitude: addressObject.geometry.location.lat(),longitude: addressObject.geometry.location.lng(), types:["geometry"]}]});
  }else{
    setError("$error_msg");
  }
}
JS;
$this->inlineScript()->appendScript($js);
$this->headLink()->appendStylesheet('/react-bundles/account-settings/main.css');
$this->inlineScript()->appendFile('/react-bundles/account-settings/accountSettingsBundle.js');
?>

<div id="react_account_settings">
  <div class="process-comm" id="paginator-process-comm">
    <div class="spinner">
      <div class="bounce1"></div>
      <div class="bounce2"></div>
      <div class="bounce3"></div>
    </div>
  </div>
</div>