You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Ensure you have **Query Collection** or **Document from Reference** added on a widget with **Single Time Query** disabled.
265
-
2. Now select the widget, head over to **Actions**, and click **+ Add Action**.
266
-
3. Select the **On Data Change** tab. That means actions added under this will be called whenever the data changes.
267
-
4. Now, you can
268
-
[add any Action](../../../resources/control-flow/functions/action-flow-editor.md#adding-an-action-example)
269
-
here.
264
+
1. Ensure you have added a **Query Collection** or **Document from Reference** on a widget with **Single Time Query** disabled.
265
+
2. Now, on the widget with **Query Collection** or **Document from Reference**, open the **Action Flow Editor** and set **On Data Change** as the [Action Trigger](../../../resources/control-flow/functions/action-triggers.md). This ensures that any actions you add will be triggered whenever the data is updated, added, or deleted.
266
+
3. You can now [add any action](../../../resources/control-flow/functions/action-flow-editor.md#adding-an-action-example) you want to perform, such as showing a notification, refreshing the UI, or fetching related data.
270
267
271
268
:::info
272
-
* Actions will be triggered whenever the data is added, updated, or deleted.
273
-
* If you are adding this on ListView, ensure you disable the infinite scroll.
269
+
If you are using this trigger on a ListView, make sure to **disable** the **Infinite Scroll**.
Copy file name to clipboardExpand all lines: docs/ff-integrations/database/supabase/database-actions.md
+47-1Lines changed: 47 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -174,7 +174,17 @@ Let's see how to filter the Supabase table to display only desired items:
174
174
- Find the **Value** property and set it to an appropriate value and click Confirm.
175
175
176
176
:::tip
177
-
You could choose a Filter relation based on your requirements. For example, to show only completed assignments, set the Field Name to the column that holds completed status, e.g., is_done, set the Relation to Equal To, and set the Value to True. Here's another example. For showing only users older than 30, create a column called Age, set the Relation to Greater Than, and set the Value to 30.
177
+
You could choose a filter relation based on your requirements. For example:
178
+
179
+
-**Equal To**: To show only completed assignments, set the **Field Name** to the column that holds the completion status (e.g., **is_done**), set the **Relation** to **Equal To**, and set the **Value** to **True**.
180
+
-**Greater Than**: To show only users older than 30, set the **Field Name** to the **age** column, set the **Relation** to **Greater Than**, and set the **Value** to 30.
181
+
-**Like**: For filtering addresses with zip codes starting with '35,' set the **Field Name** to the **zip_code** column, set the **Relation** to **LIKE**, and set the **Value** to **35%**. In the value field, you use the following wildcards to perform flexible pattern matching to filter your data effectively.
182
+
-**Percent (`%`) Wildcard**: Represents zero, one, or multiple characters.
183
+
- Example: `'A%'` matches any string starting with `'A'` (e.g., `'Apple'`, `'Apex'`).
Additional Note: Currently, you can only add "and" conditions to Supabase query filters. If you want to add an "or" filter like "status == 5 or status == 8", you can consider logic to apply "status in (5,8)" or any other logic. Fully customizable using API calls or custom actions.
205
215
:::
206
216
217
+
## Trigger Action On Data Change
207
218
219
+
Sometimes, you may want to trigger an action whenever data changes in a Supabase table. For instance, in an ecommerce app, you might want to notify users on the orders page when the status of their order is updated.
208
220
221
+
To respond to data changes in a Supabase table:
209
222
223
+
1. Ensure you have added a **Supabase Query** to a widget (e.g., a ListView) with **Single Time Query** disabled to enable real-time updates.
224
+
2. On the widget with the **Supabase Query**, open the **Action Flow Editor** and set **On Data Change** as the [Action Trigger](../../../resources/control-flow/functions/action-triggers.md). This ensures that any actions you add will be triggered whenever the data is updated, added, or deleted.
225
+
3. You can now [add any action](../../../resources/control-flow/functions/action-flow-editor.md#adding-an-action-example) you want to perform, such as showing a notification, refreshing the UI, or fetching related data.
226
+
227
+
:::info
228
+
If you are using this trigger on a ListView, make sure to **disable** the **Infinite Scroll**.
229
+
:::
230
+
231
+
<div style={{
232
+
position: 'relative',
233
+
paddingBottom: 'calc(56.67989417989418% + 41px)', // Keeps the aspect ratio and additional padding
An item can be an enitre project (in the case of Temlate Apps or Libraries), a page or a component (in the case of Template Page & Components) or a Custom Function, Action or Widget (in the case of Custom Code).
24
+
23
25
### 1. Set your project as a Marketplace project
24
26
25
27
Marketplace items should belong to projects that are specifically made to publish Marketplace items (i.e., they should not be inside of a production project).
@@ -91,21 +93,37 @@ Provide clear and concise instructions on how to implement and utilize your item
91
93
92
94
#### Marketplace Item Type
93
95
94
-
Three types of items can be submitted:
96
+
Four types of items can be submitted:
97
+
98
+
- Libraries
99
+
- Template Apps
100
+
- Template Page or Components
101
+
- Custom Code
102
+
95
103
96
-
**Template AppPage or ComponentCustom Code**
97
104
<Tabs>
98
-
<TabItemvalue="1"label="Template App"default>
105
+
<TabItemvalue="1"label="Libraries"default>
106
+
Libraries allow you to share resources like API endpoints, UI components, custom data types, custom code, action blocks and more with complete version control.
107
+
108
+
To submit a Library to the Marketplace, first publish your project as a Library. Note that there are some limitations on Library projects - most notably there is currently no support for Firebase or Pages.
109
+
110
+
For more details, see the [documentation on Libraries](/docs/resources/projects/libraries.md).
111
+
112
+
:::note
113
+
*Libraries* can be monetized. The minimum price for Libraries is $50.
114
+
:::
115
+
</TabItem>
116
+
<TabItemvalue="2"label="Template App"default>
99
117
Template apps contain multiple screens. There are 2 sub-types:
100
118
101
119
-**Full App:** an app with authentication, complete navigation, multiple pages/flows, database schema, complete action trees, etc.
102
120
-**UI Kit**: purely design-based templates and layouts
103
121
104
122
:::note
105
-
*Template Apps* can be monetized. The minimum price for Template Apps is $200.
123
+
*Template Apps* can be monetized. The minimum price for Full Apps is $400 while the minimum for UI Kits is $50.
106
124
:::
107
125
</TabItem>
108
-
<TabItemvalue="2"label="Page or Component">
126
+
<TabItemvalue="3"label="Page or Component">
109
127
Pages or Components are assembled modules that can be used within FlutterFlow. There are 2 sub-types:
110
128
111
129
-**Page:** a single page in a FlutterFlow project
@@ -115,7 +133,7 @@ Pages or Components are assembled modules that can be used within FlutterFlow. T
115
133
*Pages and Components* cannot be monetized at this time.
116
134
:::
117
135
</TabItem>
118
-
<TabItemvalue="3"label="Custom Code">
136
+
<TabItemvalue="4"label="Custom Code">
119
137
Custom Code is Dart code that can be used within FlutterFlow projects. There are 3 sub-types:
120
138
121
139
-**Custom Functions:** synchronous functions that do not have external dependencies.
0 commit comments