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>