Its below in the variable called “labelSoftware”. Notice here I am putting in the “…”. If I plug in “;” I can duplicate the error.
Do you have access to any documentation related to how to understand the error uncovered in Site Monitoring?
If you wish I invite you to open the website to see all the code.
async function populateCheckboxes ( sel , selectedProduct , gpsOnly ) {
//function populateCheckboxes (sel, selectedProduct, gpsOnly) {
//console.log("…in async populateCheckboxes…sel, selectedProduct, gpsOnly: ", sel + " , " + selectedProduct + " , " + gpsOnly);
//console.log("In populateCheckboxes with: ", sel, selectedProduct, gpsOnly)
let accessory = 0
let software = 0 ;
let optionsSoftware = []
let optionsAccessory = []
// if gpsOnly = true, then reset Optional Software price to 0
// Here I converted my populateCheckboxes to an ASYNC function,
// and added the AWAIT statement to complete the Promise before going on.
**const** results = **await** wixData . query ( "OptionalProducts" )
. eq ( "productName" , selectedProduct ) // Query the "name" field for the selected "prodName"
. find ();
// wixData.query("OptionalProducts")
// .eq("productName",selectedProduct) // Query the "name" field for the selected "prodName"
// .find()
// .then( (results) => {
//console.log("populateCheckboxes: results.items: , selectedProduct, gpsOnly?", results.items + " , " + selectedProduct + " , " + gpsOnly);
//console.log("populateCheckboxes: results.items.length, results.items: ", results.items.length, results.items);
//console.log(results.items.length, results.items)
**if** ( selectedProduct !== **undefined** ) {
**for** ( **let** i = 0 ; i < results . items . length ; i ++) {
**let** product = results . items [ i ]. productName ;
**if** ( product === selectedProduct ) {
//console.log ("inside second For i loop", i)
//console.log ("results.items: ",results.items)
//console.log("productName: ",results.items[i].productName);
//console.log("fieldSoftware name: ",results.items[i].fieldSoftware);
//console.log("alias name: ",results.items[i].alias);
//console.log("accessory name: ",results.items[i].accessory);
**let** labelSoftware = results . items [ i ]. fieldSoftware ;
//Software labels
**if** ( labelSoftware !== **undefined** && gpsOnly !== **true** ) { //then tsOnly selected
**let** labelPrice = numberToMoney ( results . items [ i ]. price )
labelSoftware = "sku: " + results . items [ i ]. sku + "... price: " + labelPrice + "... " + labelSoftware
//console.log ("xxxxxxx Software checkboxes label, gpsOnly: ", labelSoftware, gpsOnly);
**let** price = moneyToNumber ( results . items [ i ]. price )
**let** alias = results . items [ i ]. alias
software = software + 1
optionsSoftware = optionsSoftware . concat ({ "label" : labelSoftware , "value" : price , "alias" : alias }); //The price is saved here as the value of the checkbox
//console.log("software label, value (price) added to box's text: ", results.items[i].fieldSoftware + " added to box" + i , alias, optionsSoftware) ;
} **else if** ( labelSoftware !== **undefined** && gpsOnly == **true** ) { //then gpsOnly selected
// allow only roading
**let** labelPrice = numberToMoney ( results . items [ i ]. price )
labelSoftware = "sku: " + results . items [ i ]. sku + "... price: " + labelPrice + "... " + labelSoftware
//console.log ("xxxxxxx Software checkboxes label, gpsOnly: ", labelSoftware, gpsOnly);
**let** price = moneyToNumber ( results . items [ i ]. price )
**let** alias = results . items [ i ]. alias
//if (alias == "roading") { //then add label
software = software + 1
optionsSoftware = optionsSoftware . concat ({ "label" : labelSoftware , "value" : price , "alias" : alias }); //The price is saved here as the value of the checkbox
//console.log("software label, value (price) added to box's text: ", results.items[i].fieldSoftware + " added to box" + i , alias, optionsSoftware) ;
//}
}
//Accessory labels
**let** labelAccessory = results . items [ i ]. accessory ;
**if** ( labelAccessory !== **undefined** ) {
**let** labelPrice = numberToMoney ( results . items [ i ]. price )
labelAccessory = "sku: " + results . items [ i ]. sku + "... price: " + labelPrice + "... " + labelAccessory
//console.log("xxxxxxx accessories checkboxes label, gpsOnly: ", labelAccessory, gpsOnly);
**let** alias = results . items [ i ]. alias
**let** price = moneyToNumber ( results . items [ i ]. price )
accessory = accessory + 1
optionsAccessory = optionsAccessory . concat ({ "label" : labelAccessory , "value" : price , "alias" : alias }); //The price is saved here as the value of the checkbox
//console.log("accessory label added to box: ", results.items[i].accessory, alias, optionsAccessory);
}
}
}
//console.log ("cccccccccc concatenated options = ")
//console.log('#' + sel + 'Software' + " , " + '#' + sel + 'Accessory' + " , " + '#' + sel + 'GroupCheckbox')
$w ( '#' + sel + 'Software' ). options = optionsSoftware ;
$w ( '#' + sel + 'Accessory' ). options = optionsAccessory ;
//console.log("................Number of software & accessory items = ", software, accessory)
/*
if (selGnss == false && selInstrument == false && gpsOnly ==true) { //When these conditions are true, then shut down software
software = 0
}
*/
**if** ( software >> 0 && accessory == 0 ) { // Software but no Accessories
//console.log("mmmmmmoooooo optionsSoftware.length ", optionsSoftware.length)
$w ( '#' + sel + 'Optional' ). text = "Select optional software. No accessories available"
$w ( '#' + sel + 'Optional' ). expand ();
$w ( '#' + sel + 'Optional' ). show ();
$w ( '#' + sel + 'GroupSoftware' ). expand ();
$w ( '#' + sel + 'GroupSoftware' ). show ()
$w ( '#' + sel + 'SoftwareHeader' ). expand ();
$w ( '#' + sel + 'SoftwareHeader' ). show ()
//shut off accessory since it is 0
$w ( '#' + sel + 'AccessoryHeader' ). hide ();
$w ( '#' + sel + 'AccessoryHeader' ). collapse ();
$w ( '#' + sel + 'GroupAccessory' ). hide ();
$w ( '#' + sel + 'GroupAccessory' ). collapse ()
**for** ( **let** i = 0 ; i < optionsSoftware . length ; i ++) {
//console.log("xxxxxxxxooooooo i, optionsSoftware[i].label ==> ", i, '#' + sel + 'SoftwareText' + i, optionsSoftware[i].label)
$w ( '#' + sel + 'SoftwareText' + i ). text = optionsSoftware [ i ]. label
$w ( '#' + sel + 'SoftwareAlias' + i ). text = optionsSoftware [ i ]. alias
$w ( '#' + sel + 'Software' + i ). value = optionsSoftware [ i ]. value
$w ( '#' + sel + 'SoftwareText' + i ). expand ();
$w ( '#' + sel + 'SoftwareText' + i ). show ()
$w ( '#' + sel + 'Software' + i ). expand ();
$w ( '#' + sel + 'Software' + i ). show ()
}
}
**if** ( software == 0 && accessory >> 0 ) { // no Software but Accessories
//console.log("zzzzzzzoooooo optionsAccessory.length ", optionsAccessory.length)
$w ( '#' + sel + 'Optional' ). text = "Select accessories. No optional software available"
$w ( '#' + sel + 'Optional' ). expand ();
$w ( '#' + sel + 'Optional' ). show ();
$w ( '#' + sel + 'GroupAccessory' ). expand ();
$w ( '#' + sel + 'GroupAccessory' ). show ()
$w ( '#' + sel + 'AccessoryHeader' ). expand ();
$w ( '#' + sel + 'AccessoryHeader' ). show ()
//shut off software since it is 0
$w ( '#' + sel + 'SoftwareHeader' ). hide ();
$w ( '#' + sel + 'SoftwareHeader' ). collapse ();
$w ( '#' + sel + 'GroupSoftware' ). hide ();
$w ( '#' + sel + 'GroupSoftware' ). collapse ();
**for** ( **let** i = 0 ; i < optionsAccessory . length ; i ++) {
//console.log("mmmmmmooooooo i, optionsAccessory[i].label ==> ", i, '#' + sel + 'AccessoryText' + i, optionsAccessory[i].label)
$w ( '#' + sel + 'AccessoryText' + i ). text = optionsAccessory [ i ]. label
$w ( '#' + sel + 'AccessoryAlias' + i ). text = optionsAccessory [ i ]. alias
$w ( '#' + sel + 'Accessory' + i ). value = optionsAccessory [ i ]. value
$w ( '#' + sel + 'AccessoryText' + i ). expand ();
$w ( '#' + sel + 'AccessoryText' + i ). show ()
$w ( '#' + sel + 'Accessory' + i ). expand ();
$w ( '#' + sel + 'Accessory' + i ). show ()
}
}
**if** ( software >> 0 && accessory >> 0 ) { // Software and Accessories
//console.log("zzzzzzzoooooo optionsAccessory.length ", optionsAccessory.length)
$w ( '#' + sel + 'Optional' ). text = "Select optional software and accessories."
$w ( '#' + sel + 'Optional' ). expand ();
$w ( '#' + sel + 'Optional' ). show ();
$w ( '#' + sel + 'GroupAccessory' ). expand ();
$w ( '#' + sel + 'GroupAccessory' ). show ()
$w ( '#' + sel + 'AccessoryHeader' ). expand ();
$w ( '#' + sel + 'AccessoryHeader' ). show ()
$w ( '#' + sel + 'GroupSoftware' ). expand ();
$w ( '#' + sel + 'GroupSoftware' ). show ()
$w ( '#' + sel + 'SoftwareHeader' ). expand ();
$w ( '#' + sel + 'SoftwareHeader' ). show ()
**for** ( **let** i = 0 ; i < optionsSoftware . length ; i ++) {
//console.log("xxxxxxxxooooooo i, optionsSoftware[i].label ==> ", i, '#' + sel + 'SoftwareText' + i, optionsSoftware[i].label)
$w ( '#' + sel + 'SoftwareText' + i ). text = optionsSoftware [ i ]. label
$w ( '#' + sel + 'SoftwareAlias' + i ). text = optionsSoftware [ i ]. alias
$w ( '#' + sel + 'Software' + i ). value = optionsSoftware [ i ]. value
$w ( '#' + sel + 'SoftwareText' + i ). expand ();
$w ( '#' + sel + 'SoftwareText' + i ). show ()
$w ( '#' + sel + 'Software' + i ). expand ();
$w ( '#' + sel + 'Software' + i ). show ()
}
**for** ( **let** i = 0 ; i < optionsAccessory . length ; i ++) {
//console.log("mmmmmmooooooo i, optionsAccessory[i].label ==> ", i, '#' + sel + 'AccessoryText' + i, optionsAccessory[i].label)
$w ( '#' + sel + 'AccessoryText' + i ). text = optionsAccessory [ i ]. label
$w ( '#' + sel + 'AccessoryAlias' + i ). text = optionsAccessory [ i ]. alias
$w ( '#' + sel + 'Accessory' + i ). value = optionsAccessory [ i ]. value
$w ( '#' + sel + 'AccessoryText' + i ). expand ();
$w ( '#' + sel + 'AccessoryText' + i ). show ()
$w ( '#' + sel + 'Accessory' + i ). expand ();
$w ( '#' + sel + 'Accessory' + i ). show ()
}
}
**if** ( software == 0 && accessory == 0 ) { // no Software and no Accessories
$w ( '#' + sel + 'Optional' ). text = "No optional software or accessories available for this product."
$w ( '#' + sel + 'Optional' ). expand ();
$w ( '#' + sel + 'Optional' ). show ();
$w ( '#' + sel + 'SoftwareHeader' ). hide ();
$w ( '#' + sel + 'SoftwareHeader' ). collapse ();
$w ( '#' + sel + 'GroupSoftware' ). hide ();
$w ( '#' + sel + 'GroupSoftware' ). collapse ();
$w ( '#' + sel + 'AccessoryHeader' ). hide ();
$w ( '#' + sel + 'AccessoryHeader' ). collapse ();
$w ( '#' + sel + 'GroupAccessory' ). hide ();
$w ( '#' + sel + 'GroupAccessory' ). collapse ()
}
}
//})
//.catch( (err) => {
//$w('#message').text = "Error retrieving data";
//$w('#message').show();
// //console.log ("Error retrieving data");
//});
//console.log ("uuuuuuuuuuuuuuuuuuuuuuuuuuuuu here I am ====> ", $w('#' + sel + 'SoftwareText0').text)
//console.log(".out.......................async populateCheckboxes.............................");
}