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
  • Properties
  • Security Considerations
  • Example
Export as PDF
  1. Essentials
  2. Controls
  3. Content Controls

Following Icon

Last updated 1 year ago

Inherits from

Wouldn't it be nice if your mobile users could follow a content channel item and then later view a list of all their followed items? This view displays one of two icons, depending on the current state. That initial state is determined by the IsFollowed property. When the user taps on the icon, the state is toggled and an API call is made to the server to update the followed state of the entity.

This of course assumes that the user is currently logged in. If they are not logged in, then no action will be taken. You can show a message to them using NotLoggedInText to encourage logging in.

Properties

Property
Type
Description

EntityId

int

The Id number of the entity to be followed.

EntityTypeId

int

The Id number of the entity's type.

string

The key to identify a custom purpose to the following. Defaults to null.

IsFollowed

bool

The current followed state of the entity. Defaults to false.

FontSize

double

The size of the font to use.

FollowingIconClass

string

The icon class to display when the entity is being followed. Defaults to star.

FollowingIconFamily

The icon family to use when the entity is not being followed. Defaults to FontAwesomeSolid.

FollowingIconColor

The color to use for the icon when the entity is being followed.

FollowingText

string

The text to display to the right of the icon when the entity is being followed.

NotFollowingIconClass

string

The icon class to display when the entity is not being followed. Defaults to star.

NotFollowingIconFamily

The icon family to use when the entity is not being followed. Defaults to FontAwesomeRegular.

NotFollowingIconColor

The color to use for the icon when the entity is not being followed.

NotFollowingText

string

The text to display to the right of the icon when the entity is not being followed.

NotLoggedInText

string

The message that is displayed to the user when they try to follow an item while not logged in. Defaults to You must be logged in to follow this item..

Security Considerations

This control uses two API endpoints on your Rock instance. One to start following an entity and one to stop following. By default, the security on these endpoints only allows Staff and Staff-Like or above roles access. If you want to allow others to be able to follow and unfollow things then you will need to adjust the security on these two endpoints.

You can make these changes under Rock > Admin Tools > Security > REST Controllers > Followings. The two endpoints you will need to grant access to are:

  1. DELETE - api/Followings/{entityTypeId}/{entityId}?purposeKey={purposeKey}

  2. POST - api/Followings/{entityTypeId}/{entityId}?purposeKey={purposeKey}

To allow all users to be able to follow and unfollow things you will need to add the All Authenticated Users role to the Edit permission for both of those endpoints.

Example

The example below demonstrates how to display a group's name and a following icon to let the user follow that group. We are using the default icons. The first screenshot shows the not followed state and the second screenshot shows the followed state.

<StackLayout Orientation="Horizontal">
    {% assign group = 41 | GroupById %}
    <Rock:FollowingIcon EntityTypeId="{{ group.TypeId }}"
        EntityId="{{ group.Id }}"
        FontSize="20"
        IsFollowed="{{ group | IsFollowed }}"
        FollowingIconColor="#ee7725"
        NotFollowingIconColor="#ee7725" />
    <Label Text="{{ group.Name | Escape }}" />
</StackLayout>

PurposeKey

🧱
IconFamily
Color
IconFamily
Color
Xamarin.Forms.Label