Got this right with onClick functions! And while doing so, moved data from the Members Dataset to a record dataset using the following code:
import wixUsers from 'wix-users';
import wixData from 'wix-data';
import wixLocation from 'wix-location';
import wixWindow from 'wix-window';
let user = wixUsers.currentUser;
$w.onReady(function () {
wixData.get("Members/PrivateMembersData", wixUsers.currentUser.id)
.then((results)=>{
let name = results.name;
let firstName = results.firstName;
let lastName = results.lastName;
let email = results.loginEmail;
$w('#txtCurrentUser').text = name ;
$w('#txtFirstName').text = firstName ;
$w('#txtLastName').text = lastName ;
$w('#txtEmail').text = email ;
//NOT WORKING $w('#txtIpAddress').text = ipAddress ;
});
let url = wixLocation.url;
let locale = wixWindow.locale; // "en-US"
let browserLocale = wixWindow.browserLocale; // "en-US"
let formFactor = wixWindow.formFactor; // "Mobile"
let viewMode = wixWindow.viewMode; // "Site"
let referrer = wixWindow.referrer; // "http://somesite.com"
wixWindow.getCurrentGeolocation()
.then( (obj) => {
let timestamp = obj.timestamp; // NOT WORKING
let latitude = obj.coords.latitude; // NOT WORKING
let longitude = obj.coords.longitude; // NOT WORKING
let altitude = obj.coords.altitude; // NOT WORKING
let accuracy = obj.coords.accuracy;// NOT WORKING
let altAccuracy = obj.coords.altitudeAccuracy;// NOT WORKING
let heading = obj.coords.heading;// NOT WORKING
let speed = obj.coords.speed;// NOT WORKING
$w('#txtURL').text = url;
$w('#txtLocale').text = locale;
$w('#txtBrowserLocale').text = browserLocale;
$w('#txtFormFactor').text = formFactor;
$w('#txtViewMode').text = viewMode;
$w('#txtReferrer').text = referrer;
$w('#txtTimestamp').text = timestamp;
$w('#txtLatitude').text = latitude;
$w('#txtLongitude').text = longitude;
$w('#txtAltitude').text = altitude;
$w('#txtAccuracy').text = accuracy;
$w('#txtAltAccuracy').text = altAccuracy;
$w('#txtHeading').text = heading;
$w('#txtSpeed').text = speed;
});
});
$w.onReady(() => {
$w("#YourDatasetName").onReady(() => {
$w("#YourRepeaterName").onItemReady(($item, itemData, index) => {
$item('#YourButtonName').onClick(() => {
$item('#YourButtonName').target = '_blank';
setFieldValues();
$w('#trackingData').setFieldValue("title", $item('#dataset3').getCurrentItem().title);
$w('#trackingData').setFieldValue("companyName", $item('#dataset3').getCurrentItem().companyName);
$w('#trackingData').setFieldValue("link", $item('#dataset3').getCurrentItem().link);
$w('#trackingData').save()
.then(()=> {
let currentItem = $item('#dataset3').getCurrentItem().link;
wixLocation.to(`${currentItem}`);
console.log(currentItem);
});
});
});
});
});
function setFieldValues() {
$w('#trackingData').setFieldValue("email", $w('#txtEmail').text);
$w('#trackingData').setFieldValue("firstName", $w('#txtFirstName').text);
$w('#trackingData').setFieldValue("lastName", $w('#txtLastName').text);
$w('#trackingData').setFieldValue("pageClicked", $w('#txtURL').text);
$w('#trackingData').setFieldValue("locale", $w('#txtLocale').text);
$w('#trackingData').setFieldValue("browserLocale", $w('#txtBrowserLocale').text);
$w('#trackingData').setFieldValue("formFactor", $w('#txtFormFactor').text);
$w('#trackingData').setFieldValue("viewMode", $w('#txtViewMode').text);
$w('#trackingData').setFieldValue("referrer", $w('#txtReferrer').text);
$w('#trackingData').setFieldValue("timestamp", $w('#txtTimestamp').text);
$w('#trackingData').setFieldValue("latitude", $w('#txtLatitude').text);
$w('#trackingData').setFieldValue("longitude", $w('#txtLongitude').text);
$w('#trackingData').setFieldValue("altitude", $w('#txtAltitude').text);
$w('#trackingData').setFieldValue("accuracy", $w('#txtAccuracy').text);
$w('#trackingData').setFieldValue("altAccuracy", $w('#txtAltAccuracy').text);
$w('#trackingData').setFieldValue("heading", $w('#txtHeading').text);
$w('#trackingData').setFieldValue("speed", $w('#txtSpeed').text);
}