Geo Fencing Restriction
This component displays existing Geo-Fencing restrictions for a specific flow and allows users to navigate to either edit existing restrictions or create a new one of a selected type.
It allows you to control where your users can log in to the system. You can define specific geographical areas where access is allowed and deny access from outside those areas. This is a powerful way to enhance security and ensure users are accessing the system from authorized locations.

1. Purpose and Overview
This Component acts as a central hub for managing Geo-Fencing restrictions associated with a particular flow. After a user selects a flow from a list, they are directed to this component. Its primary purposes are:
Receive the selected flow ID/Name.
Display a list of existing Geo-Fencing restrictions associated with that flow, categorized by restriction type (Common, User, Group).
Provide navigation options to:
Edit an existing restriction of a specific type.

Create a new restriction of a specific type for that flow.


2. Key Features and Functionality
Receiving Parameters: The component receives the flow ID and flow Name (likely via route parameters or query parameters).
Data Retrieval: The component retrieves existing Geo-Fencing restrictions from a backend service, filtering them by the selected flow ID.
Categorized Display: The restrictions are displayed in a categorized manner, typically grouped by restriction type (Common, User, Group). If no restrictions exist for a particular type, that's indicated as well.
Edit Navigation: For each existing restriction, a link/button is provided to navigate to an "Edit Restriction" component, passing the restriction ID.
Create New Navigation: For each restriction type (Common, User, Group), a link/button is provided to navigate to a "Create Restriction" component, pre-selecting the flow and the restriction type.
"No Restrictions" Message: If no restrictions exist for the selected flow, a clear "No restrictions found" message is displayed.
3. User Interaction
Navigation: The user navigates to this component after clicking.
View Existing Restrictions: The component displays existing restrictions, grouped by type.
Edit Restriction: The user clicks an "Edit" button to modify an existing restriction. This navigates them to an "Edit Restriction" component.
Create New Restriction: The user clicks a "Create New" button within a section to create a new restriction of that type. This navigates them to a "Create Restriction" component.
4. Potential Scenarios
Flow with Existing Restrictions: The component displays the name of the flow and a list of existing Common, User, and Group restrictions, with "Edit" links for each.
Flow with No Restrictions: The component displays the name of the flow and a "No restrictions found" message for each restriction type.
Creating a New Restriction: The user clicks the "Create New User Restriction" button, which navigates them to the "Create Restriction" component, pre-configured for a User restriction on that flow.
Geo Fencing Create
This component enables the configuration of Geo-Fencing restrictions, allowing administrators to control where users can log in based on geographical boundaries.

1. Purpose and Overview
This component is used to create and manage Geo-Fencing restrictions for different scenarios. It supports three types of restrictions:
Common: Applies to all users, unless overridden by user-specific or group-based restrictions.
Group-Based: Applies to a specific group of users.
User-Specific: Applies to individual users.
The component provides a user-friendly interface to define geographical boundaries, associate them with users or groups, and save the configuration.
2. Key Features and Functionality
Breadcrumb: Provides navigation back to the Geo-Fencing Restriction settings page.
Loading Indicator: Displays a loading spinner while data is being fetched.
Accordion Interface: Uses an accordion to organize the configuration options.
Common Geo-Fencing Restriction:
Allows configuring a common Geo-Fence that applies to all users.
Provides a button to open a modal for defining the Geo-Fence boundaries using the app-geo-fencing component.
Group-Based Restriction:
Allows associating Geo-Fences with specific groups.
Provides a search input to find groups.
Displays a table of groups with checkboxes to enable/disable the restriction for each group.
Allows assigning roles to groups.
User-Specific Restriction:
Allows associating Geo-Fences with individual users.
Provides a search input to find users.
Geo-Fence Configuration Modal:
Uses the app-geo-fencing component to define geographical boundaries (point with radius or polygon).
Allows saving the Geo-Fence configuration.
4. User Interaction
Accessing the Component: Navigating to the component after selecting a flow and restriction type (Common, User, or Group) on the settings page.
Configuring Common Geo-Fencing Restriction:
Click the "Configure Geo-Fence" button in the "Common Geo Fencing Restriction" section.
In the modal, use the app-geo-fencing component to define the Geo-Fence.
Click the "Save" button in the modal to save the Geo-Fence configuration.
The saved Geo-Fence will appear in the "Saved Configurations" section.
Configuring Group-Based Restriction:
Search for groups using the search input.
Select groups by checking the checkboxes in the group table.
Assign roles to the selected groups using the angular2-multiselect component.
Click the "Configure Geo-Fence" button to define the Geo-Fence.
In the modal, use the app-geo-fencing component to define the Geo-Fence.
Click the "Save" button in the modal to save the Geo-Fence configuration.
Configuring User-Specific Restriction:
Search for users using the search input.
Select users from the search results.
The selected users will appear in the "Selected Users" section.
Click the "Configure Geo-Fence" button to define the Geo-Fence.
In the modal, use the app-geo-fencing component to define the Geo-Fence.
Click the "Save" button in the modal to save the Geo-Fence configuration.
Geo Fencing Edit
This component allows administrators to edit existing Geo-Fencing restrictions.
1. Purpose and Overview
This component is used to modify existing Geo-Fencing restrictions for different scenarios. It supports three types of restrictions:
Common: Applies to all users, unless overridden by user-specific or group-based restrictions.
Group-Based: Applies to a specific group of users.
User-Specific: Applies to individual users.
The component provides a user-friendly interface to modify geographical boundaries, associate them with users or groups, and save the updated configuration.
2. Key Features and Functionality
Breadcrumb: Provides navigation back to the Geo-Fencing Restriction settings page.
Loading Indicator: Displays a loading spinner while data is being fetched.
Accordion Interface: Uses an accordion to organize the configuration options.
Common Geo-Fencing Restriction:
Allows editing a common Geo-Fence that applies to all users.
Provides a button to open a modal for defining the Geo-Fence boundaries using the app-geo-fencing component.

Displays saved Geo-Fence configurations in a table and allows removing them.

Group-Based Restriction:
Allows associating Geo-Fences with specific groups.
Provides a search input to find groups.
Displays a table of groups with checkboxes to enable/disable the restriction for each group.
Allows assigning roles to groups using the angular2-multiselect component.

User-Specific Restriction:
Allows associating Geo-Fences with individual users.
Provides a search input to find users.
Displays selected users and allows removing them

Edit Geo-Fence Configuration Modal (#editGeoFenceModal):
Uses the app-geo-fencing component to define geographical boundaries (point with radius or polygon).
Allows saving the Geo-Fence configuration.
New Geo-Fence Configuration Modal (#newGeoFenceModal):
Uses the app-geo-fencing component to define geographical boundaries for new geo fences
Allows saving the Geo-Fence configuration.
Information Sections: Provides information and warnings about configuring Geo-Fencing restrictions.

4. User Interaction
Accessing the Component: Navigating to the component after selecting a flow and restriction type (Common, User, or Group) on the settings page.
Editing Common Geo-Fencing Restriction:
Click the "Configure Geo-Fence" button in the "Common Geo Fencing Restriction" section to create a new geo fence.
Click the edit button on the table of saved configurations to edit a geo fence.
In the modal, use the app-geo-fencing component to define the Geo-Fence.
Click the "Save" button in the modal to save the Geo-Fence configuration.
The saved Geo-Fence will appear in the "Saved Configurations" section.
Configuring Group-Based Restriction:
Search for groups using the search input.
Select groups by checking the checkboxes in the group table.
Assign roles to the selected groups using the table.
Edit an existing or create a new "GeoFence" by configuring.
Configuring User-Specific Restriction:
Search for users using the search input.
Select users from the search results.
The selected users will appear in the "Selected Users" section.
Edit an existing or create a new "GeoFence" by configuring.
Last updated