Repeating Group Showing All Data in First Row

Hi there,

I am trying to get data from my API call organized into a repeating group where there is 1 column and show text (Location Name) in each row. I successfully created a repeating group in the past based off a bubble database, but this is a different animal. I have a group(Called Location) in my repeating group(Called RepeatingGroup Get Locations row) cell and a textbox(Called Location Name) inside that Location group.

Repeating Group Set Up

Location Group Set Up

Location Name Text Set Up

Right now it just displays all the date in one cell, comma separated. All help in getting one result per cell would be greatly appreciated!

You’re trying to display a Get Locations Row’s name in the text box, yes? Or a Get Locations Row’s Location’s locationName?

Currently you’re expression is set to display the parent Group’s Locations Row’s Locations’s LocationName - i.e. a list (presumably) of Locations’s locationNames belonging to the parent group’s Get Locations Row.

It looks like you’ve selected one too many options in the expression.

Obviously I don’t know your app, or the API call, but I’d guess you just want to display the parent Group’s Get Locations Row’s locationName (if it has one).

If it doesn’t, then you might need to re-think your data source and content type for the RG. It could be that the API call is returning a list of locations for each Get Locations Row.

You might be able to set the content type to Get Locations Row’s Locations, and the data source to be the list of locations for a specific Get Locations Row.

But the reason you’re currently getting a list displayed in each cell of your RG is because that’s what your expression is asking for, so you need to take a look at the API call response to see exactly what the data you need is, and work from there.

If you’re still stuck feel free to share some screenshots of the API call and response.

1 Like

Thanks, yes the former is indeed what I am looking for: a Location Name in each row, but sadly, I can’t set the group (Location Name)'s expression to Parent group’s get locations row’s location name, in order to get there I have to add location’s between …“row’s locations” and “location name”. Maybe that is a limitation in the API? I would like to alter it and change it if so. I have screenshots of the call and response. I use pathfix to set these up so headers are hidden. The response is hard to get in a screenshot, but I have included some of the lines instead (full data from 1 location and partial from a second), bolding the location name. Thanks so much!

Call:

Response:
{
“rows”: [
{
“pincStatus”: “success”,
“statusCode”: “200”,
“contentType”: “application/json”,
“callUnits”: “7”,
“data”: {
“locations”: [
{
“name”: “accounts/101966693836866240504/locations/7477256643942102909”,
“storeCode”: “Derry”,
“locationName”: “MTE Equipment Solutions, Inc.”,
“primaryPhone”: “(603) 404-2286”,
“primaryCategory”: {
“displayName”: “Equipment supplier”,
“categoryId”: “gcid:equipment_supplier”,
“moreHoursTypes”: [
{
“hoursTypeId”: “ACCESS”,
“displayName”: “Access”,
“localizedDisplayName”: “Access”
},
{
“hoursTypeId”: “BRUNCH”,
“displayName”: “Brunch”,
“localizedDisplayName”: “Brunch”
},
{
“hoursTypeId”: “DELIVERY”,
“displayName”: “Delivery”,
“localizedDisplayName”: “Delivery”
},
{
“hoursTypeId”: “DRIVE_THROUGH”,
“displayName”: “Drive through”,
“localizedDisplayName”: “Drive through”
},
{
“hoursTypeId”: “HAPPY_HOUR”,
“displayName”: “Happy hours”,
“localizedDisplayName”: “Happy hours”
},
{
“hoursTypeId”: “KITCHEN”,
“displayName”: “Kitchen”,
“localizedDisplayName”: “Kitchen”
},
{
“hoursTypeId”: “ONLINE_SERVICE_HOURS”,
“displayName”: “Online service hours”,
“localizedDisplayName”: “Online service hours”
},
{
“hoursTypeId”: “PICKUP”,
“displayName”: “Pickup”,
“localizedDisplayName”: “Pickup”
},
{
“hoursTypeId”: “TAKEOUT”,
“displayName”: “Takeout”,
“localizedDisplayName”: “Takeout”
},
{
“hoursTypeId”: “SENIOR_HOURS”,
“displayName”: “Senior hours”,
“localizedDisplayName”: “Senior hours”
}
]
},
“additionalCategories”: [
{
“displayName”: “Tractor dealer”,
“categoryId”: “gcid:tractor_dealer”,
“moreHoursTypes”: [
{
“hoursTypeId”: “ACCESS”,
“displayName”: “Access”,
“localizedDisplayName”: “Access”
},
{
“hoursTypeId”: “BRUNCH”,
“displayName”: “Brunch”,
“localizedDisplayName”: “Brunch”
},
{
“hoursTypeId”: “DELIVERY”,
“displayName”: “Delivery”,
“localizedDisplayName”: “Delivery”
},
{
“hoursTypeId”: “DRIVE_THROUGH”,
“displayName”: “Drive through”,
“localizedDisplayName”: “Drive through”
},
{
“hoursTypeId”: “HAPPY_HOUR”,
“displayName”: “Happy hours”,
“localizedDisplayName”: “Happy hours”
},
{
“hoursTypeId”: “KITCHEN”,
“displayName”: “Kitchen”,
“localizedDisplayName”: “Kitchen”
},
{
“hoursTypeId”: “ONLINE_SERVICE_HOURS”,
“displayName”: “Online service hours”,
“localizedDisplayName”: “Online service hours”
},
{
“hoursTypeId”: “PICKUP”,
“displayName”: “Pickup”,
“localizedDisplayName”: “Pickup”
},
{
“hoursTypeId”: “TAKEOUT”,
“displayName”: “Takeout”,
“localizedDisplayName”: “Takeout”
},
{
“hoursTypeId”: “SENIOR_HOURS”,
“displayName”: “Senior hours”,
“localizedDisplayName”: “Senior hours”
}
]
},
{
“displayName”: “Tractor repair shop”,
“categoryId”: “gcid:tractor_repair_shop”,
“moreHoursTypes”: [
{
“hoursTypeId”: “ACCESS”,
“displayName”: “Access”,
“localizedDisplayName”: “Access”
},
{
“hoursTypeId”: “BRUNCH”,
“displayName”: “Brunch”,
“localizedDisplayName”: “Brunch”
},
{
“hoursTypeId”: “DELIVERY”,
“displayName”: “Delivery”,
“localizedDisplayName”: “Delivery”
},
{
“hoursTypeId”: “DRIVE_THROUGH”,
“displayName”: “Drive through”,
“localizedDisplayName”: “Drive through”
},
{
“hoursTypeId”: “HAPPY_HOUR”,
“displayName”: “Happy hours”,
“localizedDisplayName”: “Happy hours”
},
{
“hoursTypeId”: “KITCHEN”,
“displayName”: “Kitchen”,
“localizedDisplayName”: “Kitchen”
},
{
“hoursTypeId”: “ONLINE_SERVICE_HOURS”,
“displayName”: “Online service hours”,
“localizedDisplayName”: “Online service hours”
},
{
“hoursTypeId”: “PICKUP”,
“displayName”: “Pickup”,
“localizedDisplayName”: “Pickup”
},
{
“hoursTypeId”: “TAKEOUT”,
“displayName”: “Takeout”,
“localizedDisplayName”: “Takeout”
},
{
“hoursTypeId”: “SENIOR_HOURS”,
“displayName”: “Senior hours”,
“localizedDisplayName”: “Senior hours”
}
]
}
],
“websiteUrl”: “https://www.mte.us.com/?utm_source=Local&utm_medium=GMB&utm_campaign=office”,
“regularHours”: {
“periods”: [
{
“openDay”: “MONDAY”,
“openTime”: “07:00”,
“closeDay”: “MONDAY”,
“closeTime”: “16:30”
},
{
“openDay”: “TUESDAY”,
“openTime”: “07:00”,
“closeDay”: “TUESDAY”,
“closeTime”: “16:30”
},
{
“openDay”: “WEDNESDAY”,
“openTime”: “07:00”,
“closeDay”: “WEDNESDAY”,
“closeTime”: “16:30”
},
{
“openDay”: “THURSDAY”,
“openTime”: “07:00”,
“closeDay”: “THURSDAY”,
“closeTime”: “16:30”
},
{
“openDay”: “FRIDAY”,
“openTime”: “07:00”,
“closeDay”: “FRIDAY”,
“closeTime”: “16:30”
}
]
},
“serviceArea”: {
“businessType”: “CUSTOMER_AND_BUSINESS_LOCATION”,
“places”: {
“placeInfos”: [
{
“name”: “Massachusetts, USA”,
“placeId”: “ChIJ_b9z6W1l44kRHA2DVTbQxkU”
},
{
“name”: “Vermont, USA”,
“placeId”: “ChIJ_87aSGzctEwRtGtUNnSJTSY”
},
{
“name”: “New Hampshire, USA”,
“placeId”: “ChIJ66bAnUtEs0wR64CmJa8CyNc”
},
{
“name”: “Maine, USA”,
“placeId”: “ChIJ1YpTHd4dsEwR0KggZ2_MedY”
}
]
}
},
“locationKey”: {
“placeId”: “ChIJQUg3Al-n44kRhyM36y3Fe3I”
},
“specialHours”: {
“specialHourPeriods”: [
{
“startDate”: {
“year”: 2020,
“month”: 3,
“day”: 20
},
“endDate”: {
“year”: 2020,
“month”: 3,
“day”: 20
},
“isClosed”: true
}
]
},
“openInfo”: {
“status”: “OPEN”,
“canReopen”: true,
“openingDate”: {
“year”: 2010,
“month”: 2,
“day”: 7
}
},
“locationState”: {
“isGoogleUpdated”: true,
“canUpdate”: true,
“canDelete”: true,
“isVerified”: true,
“isPublished”: true,
“canModifyServiceList”: true
},
“metadata”: {
“mapsUrl”: “Google Maps”,
“newReviewUrl”: “https://search.google.com/local/writereview?placeid=ChIJQUg3Al-n44kRhyM36y3Fe3I
},
“languageCode”: “en”,
“priceLists”: [
{
“priceListId”: “8db5921c-ac8a-47d0-bbab-f385e952f7ef”,
“labels”: [
{
“displayName”: “Jobs”
}
],
“sections”: [
{
“sectionId”: “a7ea9928-4100-4fbb-8c2f-1f3fb018dd60”,
“labels”: [
{
“displayName”: “Jobs”
}
]
}
]
}
],
“address”: {
“regionCode”: “US”,
“languageCode”: “en”,
“postalCode”: “03038”,
“administrativeArea”: “NH”,
“locality”: “Derry”,
“addressLines”: [
“115 Franklin Street Ext”
]
},
“profile”: {
“description”: “MTE Equipment Solutions, inc. is a family owned supplier of commercial and turf maintenance equipment. The #1 Ventrac Tractor dealer in the world! In addition we offer Giant Loaders, Jacobsen turf equipment, Smithco, Gravely and more! Looking for used equipment? We have that too! We offer on the road service, delivery service, and sales reps who come to you! Call us today to find out what solutions we can provide for you!”
}
},
{
“name”: “accounts/101966693836866240504/locations/11917246996087074962”,
“storeCode”: “East Providence”,
“locationName”: “MTE Equipment Solutions, Inc.”,
“primaryPhone”: “(401) 537-8597”,
“primaryCategory”: {
“displayName”: “Equipment supplier”,
“categoryId”: “gcid:equipment_supplier”,
“moreHoursTypes”: [
{
“hoursTypeId”: “ACCESS”,
“displayName”: “Access”,
“localizedDisplayName”: “Access”
},
{
“hoursTypeId”: “BRUNCH”,
“displayName”: “Brunch”,
“localizedDisplayName”: “Brunch”
},
{
“hoursTypeId”: “DELIVERY”,
“displayName”: “Delivery”,
“localizedDisplayName”: “Delivery”
},
{
“hoursTypeId”: “DRIVE_THROUGH”,
“displayName”: “Drive through”,
“localizedDisplayName”: “Drive through”
},

Right…

So from what I can tell from the response, each ‘Row’ contains multiple ‘Locations’.

Currently your RG content type is ‘Row’ - meaning each cell of the RG will contain the data for 1 ‘Row’

Then in your text box you’re asking it to display the current cell’s Row’s locations - which is a list of locations, for each of which you’re displaying the LocationName, all inside a single cell.

So your current set up us behaving exactly as expected, but not how you want it to.

I’m assuming you’d rather have each cell of the RG contain the data for a single ‘Location’

So ideally you want your RG content type to be something like ‘Get Locations Rows Location’, and the datasource needs to be ‘Pathfix GMB - Get Location’s rows Locations’.

So see if that’s an option when you set your content type (if it’s not you might need to double check what fields you’re saving from the response to make sure you’re saving the list of Locations).

1 Like

Thank you - so to confirm, and to help my knowledge throughout this process, can you please let me know what in the response what signifies a new row? It appears that I need to reconfigure my call to separate the name information into individual rows since right now they are all in the same row.

have you find any solution I am also facing the same issue but I am not fetching data from API I am just getting it from another table