# Permissions popup

## Overview

A popup that includes a custom input dropdown UI to copy link to clipboard, a user search input, and a list of users, each with a permissions dropdown and toggle.

## Structure

This responsive popup consists of three main groups

* **dropdown\_copytoclipboard\_template**\
  This custom input dropdown includes UI for displaying a link, allowing the user to manage its visibility rule, and an icon button to copy the url input to your browser's clipboard.
* **Group Main invite user**\
  This group contains the input that searches users by name or email. We use a **Fuzzy Search & Autocomplete** plugin here for the search. For the fuzzy search to work, the *Search\&Autocorrect fuzzy search element* should always be visible on page load and **Input Invite user** should have an ID *input\_users\_invite* attribute. When Input invite user is not empty, **RepeatingGroup User list** will be filtered if the fuzzy search returns a match, otherwise **Group Inner empty state** will be shown. The user can click on **Group Clear input** to clear he value in **Input invite user**.
* **Group Main users list**\
  This group contains a **RepeatingGroup User list** for displaying users that have permissions. Each entry includes an image, a name, a hidden email, a **menufocus\_permissions\_template**, and a toggle.
  * In **menufocus\_permissions\_template**, it use a RepeatingGroup Dropdown to display a list of menu options. For demo purpose, we use Arbitrary Text as a data source. [Click here](https://docs.airdev.co/canvas/canvas-library/updating-asset-rg-data-source) to learn how to change the data source.

## How to set up

* Update the **Permissions Popup's** content type. For example, you might want to set the popup's content to a 'Project' data type. You'll need to trigger the popup from a button on the page and display a 'project' value in the popup.
* Go to **dropdown\_copytoclipboard\_template** reusable element and update any copy. Add workflows to when a dropdown option is clicked (e.g. setting the 'project's' link visibility to private when the private option is clicked). Change **Input URL's** value to a dynamic value.
* Update **Search\&Autocorrect fuzzy search's** search criteria.
* Update **RepeatingGroup User's** data source if needed.
* Add a workflow to **CanvasToggle share access**. For example, you might want to add a workflow like '*when CanvasToggle share access is changed, update parent group's user's access permission to yes'*.
* Go to **menufocus\_permissions\_template** and update **RepeatingGroup Dropdown's** data source. For example, you might want to use an option set here. Add an additional workflow to when *Group Option 1 is clicked, update menufocus\_permissions\_template user's permission* (you need to add this fields to whichever data type you are using).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.airdev.co/canvas/canvas-library/popups/permissions-popup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
