Rock Mobile Docs
App Factory
  • Welcome 👋
  • 📱Getting Started
    • Building Your First App
      • Creating An App
      • App Configuration
      • Adding Content
      • Deploying Your App
    • Lexicon
  • 🧱Essentials
    • Animations
    • Blocks
      • CMS
        • Content
        • Content Channel Item View
        • Content Collection View
        • Daily Challenge Entry
        • Hero
        • Lava Item List
        • Login
          • Using Auth0
          • Using Entra
        • Profile Details
        • Register
        • Structured Content View
        • Workflow Entry
      • Check-in
        • Check-in
      • Communication
        • Communication Entry
        • Communication List Subscribe
        • Communication View
        • SMS Conversation List
        • SMS Conversation
      • Connection
        • Add Connection Request
        • Connection Type List
        • Connection Opportunity List
        • Connection Request List
        • Connection Request Detail
      • Core
        • Attribute Values
        • Notes
        • Search
        • Smart Search
        • Quick Note
        • My Notes
      • CRM
        • Group Members
        • Person Profile
      • Events
        • Live Experience Occurrences
        • Live Experience
        • Calendar Event Item Occurrence View
        • Calendar Event List
        • Calendar View
        • Event Item Occurrence List By Audience Lava
      • Finance
        • Giving
        • Scheduled Transaction List
        • Transaction Detail
        • Transaction List
      • Groups
        • Group Attendance Entry
        • Group Edit
        • Group Finder
        • Group Member Edit
        • Group Member List
        • Group Member View
        • Group Registration
        • Group View
        • Schedule Preference
        • Schedule Sign Up
        • Schedule Toolbox
        • Schedule Unavailability
      • Prayer
        • Answer To Prayer
        • My Prayer Requests
        • Prayer Card View
        • Prayer Request Details
        • Prayer Session
        • Prayer Session Setup
      • Reminders
        • Reminder Edit
        • Reminder List
        • Reminder Dashboard
      • Security
        • Onboard Person
    • Codex
      • Application Strategy
      • XAML Styling
      • Resources
      • Documentation
    • Commands
      • Communication Commands
      • Navigation Commands
      • Media Commands
      • Utility Commands
    • Controls
      • Behaviors
        • Event To Command Behavior
        • Touch Behavior
      • Content Controls
        • Activity Indicator
        • Application Info
        • Avatar
        • Bible Audio
        • Bible Browser
        • Bible Reader
        • Campus Context Picker
          • Camera Code Reader
        • Cards
          • Block Card
          • Contained Card
          • Inline Card
          • Elements of a Card
          • Masks
          • Styling Cards With CSS
        • Context Menu
        • Countdown
        • Cover Sheet
        • Divider
        • Expander
        • Field Container
        • Flip View
        • Following Icon
        • Geo Boundary View
        • HTML
        • Icon
        • Icon Button
        • Image
        • Interaction
        • Items Collection
        • Login Status
        • Login Status Photo
        • Lottie View
        • Markdown
        • Media Player
          • Legacy
        • Notification Box
        • Paragraph Text
        • QR Code
        • Ratio View
        • Redirect
        • Responsive Column
        • Responsive Layout
        • Scroll View
        • Segment Picker
        • Styled Border
        • Styled View
        • Tag
        • Toggle Button
        • Web View
      • Developer Controls
        • Execute Command
        • Bible Book And Chapter Picker
        • Command Reference
        • Field Stack
        • Media Cast Button
        • Media Progress Bar
        • Parameter
        • Scan Code
        • Validator
        • Volume Control
        • Zone
      • Effects
        • Blur Effect
        • Safe Area Padding Effect
      • Form Fields
        • Attribute Value Editor
        • Address
        • Campus Picker
        • Check Box
        • Check Box List
        • Currency Box
        • Date Picker
        • Email Box
        • Literal
        • Marital Status Picker
        • Multi Picker
        • Number Box
        • Phone Number Box
        • Picker
        • Text Box
        • Text Editor
      • XAML Extensions
        • Boolean Value Converter
        • From Json
        • Inverse Boolean Converter
        • Nullable Guid Converter
        • On Device Platform
        • On Device Type
        • Palette Color
        • Seconds To Time String Converter
    • Field Types
    • Lava
      • Context in Lava
    • Performance
    • Tips and Tricks
      • Custom Site Attributes
      • Migrating to .NET MAUI (V6)
      • Page Anchors
    • Troubleshooting
    • Advanced Topics
      • Dynamic Content
      • Deep Linking
  • 🎨Styling
    • Introduction
    • Style Guide
      • Walkthrough
      • Colors
      • Typography
      • Utilities
      • Shell Components
      • Migrating
    • Legacy
      • Colors
      • Borders
        • Border Color
        • Border Radius
        • Border Width
      • Text
        • Background Color
        • Text Size
        • Alignment
        • Color
        • Line Height
        • Weights & Styles
      • iOS Shadows
      • Styling Components
        • Tags
        • Bible
        • Button
        • Form Fields
        • Modals
      • Custom CSS
  • 👨‍💻Developers
    • Fundamentals
    • Core & Shell Dependencies
    • Custom Blocks
    • OS Version Requirements
  • 🏭App Factory
    • Overview
    • Android Keystore
    • App Store Product Page
    • Developer Accounts
    • Image Resources
    • In-App Giving
    • Publishing Requirements
    • Push Notifications
    • Rock Logins
    • Shell Update Requirements
Powered by GitBook

Resources

  • Release Notes
  • Community Chat
  • Ask Chip

Documentation

  • Rock Manuals
  • Lava

⚙️ Powered by Rock RMS

On this page
  • Getting Content
  • Getting the connection opportunities
  • Using query parameters
  • Block Configuration
  • Header Template
  • Request Template
  • No Requests Content
  • Detail Page
Export as PDF
  1. Essentials
  2. Blocks
  3. Connection

Connection Request List

Displays the list of connection requests for a single opportunity.

Last updated 1 year ago

This block is used to display a list of connection requests for a single connection opportunity. If you are unfamiliar with Connections in Rock, please refer to the .

Getting Content

To summarize, this block looks for the connectionOpportunityGuid as a upon loading. You can provide this specifically (demonstrated below), or by following these steps below:

  1. Create another page that contains a (COL) block.

  2. Set the '' setting within the COL block to a page that contains this block.

  3. Navigate to the page containing the COL block, and tap!

Getting the connection opportunities

In order for the block to know which 'Connection Opportunity' to display requests for, you need to give it some context. Navigate to 'Admin Settings > Power Tools > SQL Command' and execute the following query:

SELECT Name,Guid FROM [ConnectionOpportunity]

If there are any connection opportunities available, this will display a list containing their name and guid. Select and copy the guid of the specific connection opportunity you are trying to display requests for. In this walkthrough, I will be using the 'Greeter' connection opportunity guid.

Using query parameters

To provide the guid we just obtained to the block, we do so by providing it with 'query parameters', which are context passed to the block when the page containing this block is pushed. This block looks for the following query parameters:

Name
Type
Description

connectionOpportunityGuid

Guid

The guid of the connection opportunity you want to display requests for.

{% assign pageGuid = 'c327bdc5-dc76-4408-baa4-c4a2d022ed36' %}
{% assign connectionOpportunityGuid = 'dd565087-a4be-4943-b123-bf22777e8426' %}

<Button Command="{Binding PushPage}">
    <Button.CommandParameter>
        <Rock:PushPageParameters PageGuid="{{ pageGuid }}">
            <Rock:Parameter Name="connectionTypeGuid" Value="{{ connectionOpportunityGuid }}" />
        </Rock:PushPageParameters>
    </Button.CommandParameter>
</Button>

Deploy, press that button, and voila! The block should display the list of connection opportunities for the specific type. So now you can see how to show the opportunities for one specific connection type... but that would rarely be the actual intended use case.

Block Configuration

Header Template

This is the content that is rendered above the lists of your requests. This allows you to put a logo, header, or do whatever you like to style the top of this block. Please note, that if a ConnectionOpportunity is not found, this content will not display.

Merge Fields

Merge fields are fields that are available to use within the template. So in the header template, you have access to these objects:

Field
Type
Property

ConnectionOpportunity

ConnectionOpportunity

The specific connection opportunity in reference.

Request Template

This is the main template that is used to display the entire list of connection requests. You can fully customize this template using the entire list object to do whatever you like with it.

Merge Fields

In the request template, you have access to these objects:

Field
Type
Description

ConnectionOpportunity

ConnectionOpportunity

The specific connection opportunity in reference.

ConnectionRequests

List<ConnectionRequest>

The entire list of the available requests.

DetailPage

Guid

The Guid used to reference the detail page.

No Requests Content

You may have noticed in some other blocks, there is a block setting to provide content when there is nothing to display. Often seen as something like a:

<NotificationBox Text="You currently have no current requests. Please check again later." />

We have decided to make this an even easier piece of the puzzle to set, by including it in the template itself. If you wish to customize this content, the piece you are looking for is:

{% if ConnectionRequests == empty %}
    ... Put your content here!
{% endif %}

Detail Page

This is the page that is linked when a specific request is selected. You can see it being used here in the default template.

{% if DetailPage != null %}            
    <Frame.GestureRecognizers>
        <TapGestureRecognizer Command="{Binding PushPage}" 
            CommandParameter="{{ DetailPage }}?ConnectionRequestGuid={{ request.Guid }}" />
    </Frame.GestureRecognizers>
{% endif %}

Conveniently, that is the same value we just obtained by . Create a new page that only contains a '' block. Provide the following as the content, but change pageGuid to represent the guid of the page you just created and the connectionOpportunityGuid to represent the guid that we got earlier.

If only there was some type of list to display all of the opportunities for us... Oh, wait! There is. To fetch all of your connection opportunities, create a new page with a '' block, and set the '' to a page containing this block.

If you are lost, this is within the main for-loop of the , and by doing this, each opportunity passes its' individual Guid as a query string parameter for the detail page.

Psst! This setting would be utilized as intended if it was set to a page that had the block on it.

🧱
Connection Request Detail
Content
getting the connection opportunites
Request Template
connections manual
Connection Opportunity List
query string parameter
Connection Opportunity List
Detail Page
Detail Page