@lowdefy/docs-content 0.0.0-experimental-20260910082708 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/content/actions/link.md +0 -17
- package/content/agents/agentchat.md +1 -13
- package/content/concepts/ai-agent-docs.md +49 -232
- package/content/concepts/cli.md +0 -13
- package/content/concepts/custom-styling.md +5 -50
- package/content/concepts/i18n.md +1 -1
- package/content/concepts/layout-overview.md +1 -1
- package/content/connections/mongodb.md +3 -121
- package/content/container-blocks/collapse.md +2 -2
- package/content/container-blocks/layout.md +0 -1
- package/content/container-blocks/modal.md +1 -1
- package/content/container-blocks/pagesidebarlayout.md +0 -1
- package/content/container-blocks/sider.md +1 -1
- package/content/container-blocks/spinner.md +1 -1
- package/content/controls/reject.md +1 -3
- package/content/controls/throw.md +0 -1
- package/content/controls/try.md +2 -3
- package/content/display-blocks/aggrid.md +18 -18
- package/content/display-blocks/avatar.md +2 -2
- package/content/display-blocks/difflist.md +1 -1
- package/content/display-blocks/difftimeline.md +1 -1
- package/content/display-blocks/echart.md +1 -35
- package/content/display-blocks/menu.md +1 -1
- package/content/display-blocks/qrcode.md +2 -2
- package/content/display-blocks/s3download.md +1 -1
- package/content/display-blocks/search.md +0 -1
- package/content/display-blocks/skeletonbutton.md +0 -1
- package/content/display-blocks/skeletoninput.md +0 -1
- package/content/input-blocks/buttonselector.md +1 -1
- package/content/input-blocks/checkboxselector.md +5 -81
- package/content/input-blocks/colorselector.md +0 -14
- package/content/input-blocks/multipleselector.md +1 -1
- package/content/input-blocks/phonenumberinput.md +1 -2
- package/content/input-blocks/radioselector.md +4 -66
- package/content/input-blocks/s3uploadbutton.md +1 -1
- package/content/input-blocks/s3uploaddragger.md +1 -1
- package/content/input-blocks/s3uploadphoto.md +1 -1
- package/content/input-blocks/segmentedselector.md +1 -1
- package/content/input-blocks/selector.md +1 -1
- package/content/input-blocks/tiptapmentioninput.md +1 -1
- package/content/input-blocks/treeinput.md +1 -1
- package/content/input-blocks/treemultipleselector.md +1 -1
- package/content/input-blocks/treeselector.md +1 -1
- package/content/list-blocks/masonrylist.md +1 -1
- package/content/operators/_type.md +3 -14
- package/content/plugins/plugins-introduction.md +0 -15
- package/index.json +1 -31
- package/package.json +1 -3
- package/content/controls/while.md +0 -46
- package/content/input-blocks/tagmultipleselector.md +0 -101
- package/content/input-blocks/tagselector.md +0 -101
- package/content/testing/config-tests.md +0 -164
- package/hazards.json +0 -44
|
@@ -34,15 +34,12 @@ The `MongoDBCollection` connection sets up a connection to a MongoDB deployment.
|
|
|
34
34
|
|
|
35
35
|
>Since the connection URI contains authentication secrets, it should be stored using the [`_secret`](operators/secret.md) operator.
|
|
36
36
|
|
|
37
|
-
When
|
|
37
|
+
When using MongoDBUpdateOne and MongoDBDeleteOne requests, take note that the responses differ if the connection has a log collection.
|
|
38
38
|
|
|
39
39
|
#### Properties
|
|
40
40
|
- `databaseUri: string`: __Required__ - Connection uri string for the MongoDb deployment. Should be stored using the [_secret](operators/secret.md) operator.
|
|
41
41
|
- `databaseName: string`: Default: Database specified in connection string - The name of the database in the MongoDB deployment.
|
|
42
42
|
- `collection: string`: __Required__ - The name of the MongoDB collection.
|
|
43
|
-
- `changeLog: object`: Log all changes made by write requests to a log collection.
|
|
44
|
-
- `collection: string`: __Required__ - The name of the collection change log records are written to.
|
|
45
|
-
- `meta: object`: Additional data to include in every change log record, for example the user making the change.
|
|
46
43
|
- `read: boolean`: Default: `true` - Allow read operations like find on the collection.
|
|
47
44
|
- `write: boolean`: Default: `false` - Allow write operations like update on the collection.
|
|
48
45
|
- `options: object`: See the [driver documentation](https://mongodb.github.io/node-mongodb-native/4.0/interfaces/mongoclientoptions.html) for more information.
|
|
@@ -108,13 +105,10 @@ Request types:
|
|
|
108
105
|
- MongoDBDeleteOne
|
|
109
106
|
- MongoDBFind
|
|
110
107
|
- MongoDBFindOne
|
|
111
|
-
- MongoDBInsertConsecutiveId
|
|
112
108
|
- MongoDBInsertMany
|
|
113
|
-
- MongoDBInsertManyConsecutiveIds
|
|
114
109
|
- MongoDBInsertOne
|
|
115
110
|
- MongoDBUpdateMany
|
|
116
111
|
- MongoDBUpdateOne
|
|
117
|
-
- MongoDBVersionedUpdateOne
|
|
118
112
|
|
|
119
113
|
|
|
120
114
|
### MongoDBAggregation
|
|
@@ -297,7 +291,7 @@ requests:
|
|
|
297
291
|
### MongoDBDeleteOne
|
|
298
292
|
|
|
299
293
|
The `MongoDBDeleteOne` request deletes a single document in the collection specified in the connectionId. It requires a filter, which is written in the query syntax, to select a document to delete. It will delete the first document that matches the filter.
|
|
300
|
-
>
|
|
294
|
+
> MongoDBDeleteOne response differs when the connection has a log collection. When a log collection is set on the connection, a findOneAndDelete operation is performed compared to the standard deleteOne operation.
|
|
301
295
|
|
|
302
296
|
#### Properties
|
|
303
297
|
- `filter: object`: __Required__ - The filter used to select the document to update.
|
|
@@ -471,34 +465,6 @@ requests:
|
|
|
471
465
|
_payload: _id
|
|
472
466
|
```
|
|
473
467
|
|
|
474
|
-
### MongoDBInsertConsecutiveId
|
|
475
|
-
|
|
476
|
-
The `MongoDBInsertConsecutiveId` request inserts a single document into the collection specified in the connectionId, assigning a sequential, human-readable `_id` like `INV0001`. The id is built from a prefix and the next consecutive number for that prefix, zero-padded to `length` digits. The id read and the insert run inside a transaction so concurrent requests cannot claim the same id.
|
|
477
|
-
|
|
478
|
-
> Transactions require MongoDB to run as a replica set. Standalone deployments are not supported by this request.
|
|
479
|
-
|
|
480
|
-
#### Properties
|
|
481
|
-
- `doc: object`: __Required__ - The document to be inserted. The `_id` is assigned by the request.
|
|
482
|
-
- `prefix: string`: __Required__ - Prefix to add to the id, for example `INV`.
|
|
483
|
-
- `length: number`: The numeric part of the id is zero-padded to this number of digits. If omitted, the number is not padded.
|
|
484
|
-
- `options: object`: Optional settings passed to the insert. See the [driver documentation](https://mongodb.github.io/node-mongodb-native/4.0/classes/collection.html#insertone) for more information.
|
|
485
|
-
|
|
486
|
-
#### Examples
|
|
487
|
-
|
|
488
|
-
###### Insert an invoice with a sequential id (INV0001, INV0002, ...):
|
|
489
|
-
```yaml
|
|
490
|
-
requests:
|
|
491
|
-
- id: insert_invoice
|
|
492
|
-
type: MongoDBInsertConsecutiveId
|
|
493
|
-
connectionId: my_mongodb_collection_id
|
|
494
|
-
properties:
|
|
495
|
-
prefix: INV
|
|
496
|
-
length: 4
|
|
497
|
-
doc:
|
|
498
|
-
amount:
|
|
499
|
-
_state: amount
|
|
500
|
-
```
|
|
501
|
-
|
|
502
468
|
### MongoDBInsertMany
|
|
503
469
|
|
|
504
470
|
The `MongoDBInsertMany` request inserts an array of documents into the collection specified in the connectionId. If a `_id` field is not specified on a document, a MongoDB `ObjectID` will be generated.
|
|
@@ -546,33 +512,6 @@ requests:
|
|
|
546
512
|
|
|
547
513
|
```
|
|
548
514
|
|
|
549
|
-
### MongoDBInsertManyConsecutiveIds
|
|
550
|
-
|
|
551
|
-
The `MongoDBInsertManyConsecutiveIds` request inserts an array of documents into the collection specified in the connectionId, assigning each document a sequential, human-readable `_id` like `INV0001`. Ids continue from the highest existing id for the prefix. The id read and the insert run inside a transaction so concurrent requests cannot claim the same ids.
|
|
552
|
-
|
|
553
|
-
> Transactions require MongoDB to run as a replica set. Standalone deployments are not supported by this request.
|
|
554
|
-
|
|
555
|
-
#### Properties
|
|
556
|
-
- `docs: object[]`: __Required__ - The documents to be inserted. The `_id` values are assigned by the request.
|
|
557
|
-
- `prefix: string`: __Required__ - Prefix to add to the ids, for example `INV`.
|
|
558
|
-
- `length: number`: The numeric part of each id is zero-padded to this number of digits. If omitted, the numbers are not padded.
|
|
559
|
-
- `options: object`: Optional settings passed to the insert. See the [driver documentation](https://mongodb.github.io/node-mongodb-native/4.0/classes/collection.html#insertmany) for more information.
|
|
560
|
-
|
|
561
|
-
#### Examples
|
|
562
|
-
|
|
563
|
-
###### Insert order lines with sequential ids:
|
|
564
|
-
```yaml
|
|
565
|
-
requests:
|
|
566
|
-
- id: insert_order_lines
|
|
567
|
-
type: MongoDBInsertManyConsecutiveIds
|
|
568
|
-
connectionId: my_mongodb_collection_id
|
|
569
|
-
properties:
|
|
570
|
-
prefix: LINE
|
|
571
|
-
length: 6
|
|
572
|
-
docs:
|
|
573
|
-
_state: order_lines
|
|
574
|
-
```
|
|
575
|
-
|
|
576
515
|
### MongoDBInsertOne
|
|
577
516
|
|
|
578
517
|
The `MongoDBInsertOne` request inserts a document into the collection specified in the connectionId. If a `_id` field is not specified, a MongoDB `ObjectID` will be generated.
|
|
@@ -680,15 +619,11 @@ requests:
|
|
|
680
619
|
### MongoDBUpdateOne
|
|
681
620
|
|
|
682
621
|
The `MongoDBUpdateOne` request updates a single document in the collection specified in the connectionId. It requires a filter, which is written in the query syntax, to select a document to update. It will update the first document that matches the filter. If the `upsert` option is set to true, it will insert a new document if no document is found to update.
|
|
683
|
-
|
|
684
|
-
If no document matches the filter, the request throws `No matching record to update.` — a silent no-op update usually indicates a bug. Set `disableNoMatchError: true` on the request to restore the pre-5.5.0 behavior of returning `matchedCount: 0`. Requests with the `upsert` option never throw this error. Running `lowdefy upgrade` adds `disableNoMatchError: true` to existing requests so upgraded apps keep their behavior.
|
|
685
|
-
|
|
686
|
-
> When the connection has a log collection, a findOneAndUpdate operation is performed instead of the standard updateOne operation so before and after document snapshots can be captured in the change log. The response shape is the same in both cases.
|
|
622
|
+
> MongoDBUpdateOne response differs when the connection has a log collection. When a log collection is set on the connection, a findOneAndUpdate operation is performed compared to the standard updateOne operation.
|
|
687
623
|
|
|
688
624
|
#### Properties
|
|
689
625
|
- `filter: object`: __Required__ - The filter used to select the document to update.
|
|
690
626
|
- `update: object | object[]`: __Required__ - The update operations to be applied to the document.
|
|
691
|
-
- `disableNoMatchError: boolean`: Default: `false` - Do not throw an error when no document matches the filter.
|
|
692
627
|
- `options: object`: Optional settings. See the [driver documentation](https://mongodb.github.io/node-mongodb-native/4.0/classes/collection.html#updateone) for more information. Supported settings are:
|
|
693
628
|
- `arrayFilters: object[]`: _Array_ - Array filters for the [`$[<identifier>]`](https://docs.mongodb.com/manual/reference/operator/update/positional-filtered/) array update operator.
|
|
694
629
|
- `authdb: string`: Specifies the authentication information to be used.
|
|
@@ -757,47 +692,6 @@ requests:
|
|
|
757
692
|
_date: now
|
|
758
693
|
```
|
|
759
694
|
|
|
760
|
-
### MongoDBVersionedUpdateOne
|
|
761
|
-
|
|
762
|
-
The `MongoDBVersionedUpdateOne` request updates a single document while preserving the previous version. The matched document is re-inserted under a new `_id`, and the update is applied to the new copy — so the collection keeps a full version history of the document.
|
|
763
|
-
|
|
764
|
-
If no document matches the filter, the request throws `No matching record to update.`. Set `disableNoMatchError: true` on the request to suppress the error. Requests with the `upsert` update option never throw this error.
|
|
765
|
-
|
|
766
|
-
> The version insert and the update are separate operations, not a transaction. If the update fails, the inserted version copy remains in the collection.
|
|
767
|
-
|
|
768
|
-
> When the connection has a log collection, a findOneAndUpdate operation is performed instead of the standard updateOne operation so before and after document snapshots can be captured in the change log. The response shape is the same in both cases.
|
|
769
|
-
|
|
770
|
-
#### Properties
|
|
771
|
-
- `filter: object`: __Required__ - The filter used to select the document to version and update.
|
|
772
|
-
- `update: object | object[]`: __Required__ - The update operations to be applied to the new copy of the document.
|
|
773
|
-
- `disableNoMatchError: boolean`: Default: `false` - Do not throw an error when no document matches the filter.
|
|
774
|
-
- `options: object`: Optional settings for each underlying operation:
|
|
775
|
-
- `find: object`: Options for the find one operation. See the [driver documentation](https://mongodb.github.io/node-mongodb-native/4.0/classes/collection.html#findone).
|
|
776
|
-
- `insert: object`: Options for the insert one operation that creates the version copy. See the [driver documentation](https://mongodb.github.io/node-mongodb-native/4.0/classes/collection.html#insertone).
|
|
777
|
-
- `update: object`: Options for the update operation. See the [driver documentation](https://mongodb.github.io/node-mongodb-native/4.0/classes/collection.html#updateone).
|
|
778
|
-
|
|
779
|
-
#### Examples
|
|
780
|
-
|
|
781
|
-
###### Update a document, keeping the previous version:
|
|
782
|
-
```yaml
|
|
783
|
-
requests:
|
|
784
|
-
- id: versioned_update
|
|
785
|
-
type: MongoDBVersionedUpdateOne
|
|
786
|
-
connectionId: my_mongodb_collection_id
|
|
787
|
-
payload:
|
|
788
|
-
doc_id:
|
|
789
|
-
_state: doc_id
|
|
790
|
-
properties:
|
|
791
|
-
filter:
|
|
792
|
-
doc_id:
|
|
793
|
-
_payload: doc_id
|
|
794
|
-
current: true
|
|
795
|
-
update:
|
|
796
|
-
$set:
|
|
797
|
-
status:
|
|
798
|
-
_state: status
|
|
799
|
-
```
|
|
800
|
-
|
|
801
695
|
## Websockets
|
|
802
696
|
|
|
803
697
|
Websocket types:
|
|
@@ -861,15 +755,3 @@ pages:
|
|
|
861
755
|
```
|
|
862
756
|
|
|
863
757
|
The change event payload is available on `_event: messages` in `onMessage` and via the [`_websocket`](/websocket-subscriptions) operator — each message is the MongoDB change event, including `operationType`, `documentKey` and `fullDocument`.
|
|
864
|
-
|
|
865
|
-
## Errors
|
|
866
|
-
|
|
867
|
-
When MongoDB rejects an operation, the request fails with a `ServiceError` that carries:
|
|
868
|
-
|
|
869
|
-
- `code` — the MongoDB error code, for example `11000` for a duplicate key.
|
|
870
|
-
- `message` — a plain sentence naming the collection and the request type, like `MongoDB: Duplicate key on collection "orders".`
|
|
871
|
-
- `hint` — a sentence saying what to do about it, for example to insert with `MongoDBUpdateOne` and `upsert: true`, to add an index covering the filter, or to grant the database user a role.
|
|
872
|
-
|
|
873
|
-
The driver's own message is never sent to the browser — it can quote values from the document that triggered the error. It is logged on the server instead, where the dev server terminal prints it under the located error line as `Caused by: MongoServerError: E11000 …`.
|
|
874
|
-
|
|
875
|
-
Network, DNS and TLS failures are also `ServiceError`s, classified by the connection layer rather than by an error code.
|
|
@@ -1296,8 +1296,8 @@ Full platform access with dedicated infrastructure, custom integrations, and whi
|
|
|
1296
1296
|
| `accordion` | boolean | `false` | If true, only one panel is open at a time. |
|
|
1297
1297
|
| `activeKey` | string | - | Current panel's key. |
|
|
1298
1298
|
| `bordered` | boolean | `true` | Toggles rendering of the border around the collapse block. |
|
|
1299
|
-
| `defaultActiveKey` | string
|
|
1300
|
-
| `destroyInactivePanel` | boolean | `false` | Destroy inactive panel.
|
|
1299
|
+
| `defaultActiveKey` | string | - | Initial active panel's key, if activeKey is not set. |
|
|
1300
|
+
| `destroyInactivePanel` | boolean | `false` | Destroy inactive panel. |
|
|
1301
1301
|
| `expandIcon` | string \| object | - | Name of an React-Icon (See all icons) or properties of an Icon block for expand icon on the right of selector. |
|
|
1302
1302
|
| `expandIconPlacement` | string | `"start"` | Set placement of the expand icon. Enum: `start`, `end`. |
|
|
1303
1303
|
| `forceRender` | boolean | `"false"` | Force render for all panels. |
|
|
@@ -590,7 +590,6 @@ Welcome to DevDocs. This guide walks you through setting up your first project.
|
|
|
590
590
|
|
|
591
591
|
| Property | Type | Default | Description |
|
|
592
592
|
| --- | --- | --- | --- |
|
|
593
|
-
| `hasSider` | boolean | `false` | Lay the child blocks out in a row when the layout contains a Sider. |
|
|
594
593
|
| `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). |
|
|
595
594
|
|
|
596
595
|
No events defined.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Modal
|
|
2
2
|
|
|
3
|
-
Modal dialog overlay for focused content. Add `shortcut: Escape` to the `onClose` event to run custom actions when Escape is pressed. Ant Design
|
|
3
|
+
Modal dialog overlay for focused content. Add `shortcut: Escape` to the `onClose` event to run custom actions when Escape is pressed. Ant Design's Modal already closes on Escape by default — the shortcut triggers your custom actions in addition to the built-in close.
|
|
4
4
|
|
|
5
5
|
This is a basic modal dialog with a title, content area, and default Ok/Cancel buttons.
|
|
6
6
|
|
|
@@ -411,7 +411,6 @@ Dashboard Overview
|
|
|
411
411
|
| `/mobileMenu` | The PageSidebarLayout mobile menu. |
|
|
412
412
|
| `/header` | The PageSidebarLayout header. |
|
|
413
413
|
| `/headerActions` | The header actions container (notifications, profile, dark mode toggle). |
|
|
414
|
-
| `/headerContent` | The PageSidebarLayout header content area (the header slot row). |
|
|
415
414
|
| `/logo` | The PageSidebarLayout logo. |
|
|
416
415
|
| `/notifications` | The notification bell button. |
|
|
417
416
|
| `/notificationsBadge` | The notification badge wrapper. |
|
|
@@ -1046,7 +1046,7 @@ Use the sidebar on the left to browse through different sections. On smaller scr
|
|
|
1046
1046
|
| `initialCollapsed` | boolean | `true` | Set the initial collapsed state |
|
|
1047
1047
|
| `reverseArrow` | boolean | `false` | Direction of arrow, for a sider that expands from the right |
|
|
1048
1048
|
| `width` | string \| number | - | width of the sidebar |
|
|
1049
|
-
| `theme` |
|
|
1049
|
+
| `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). |
|
|
1050
1050
|
|
|
1051
1051
|
| Event | Event Data | Description |
|
|
1052
1052
|
| --- | --- | --- |
|
|
@@ -255,7 +255,7 @@ Loading orders...
|
|
|
255
255
|
|
|
256
256
|
| Property | Type | Default | Description |
|
|
257
257
|
| --- | --- | --- | --- |
|
|
258
|
-
| `size` | string
|
|
258
|
+
| `size` | string | - | Size of the icon spinner. Enum: `small`, `medium`, `large`. |
|
|
259
259
|
|
|
260
260
|
No events defined.
|
|
261
261
|
|
|
@@ -7,9 +7,7 @@
|
|
|
7
7
|
The `:reject` control is used to return a user-friendly error to the client when validation fails or business rules are violated.
|
|
8
8
|
Unlike [`:throw`](/:throw), which indicates a system error, `:reject` represents an expected failure condition that should be communicated to the user.
|
|
9
9
|
The control immediately stops routine execution and returns with a `"reject"` status.
|
|
10
|
-
Importantly, `:reject` does not trigger `:catch` blocks in [`:try`](/:try) statements
|
|
11
|
-
This makes `:reject` ideal for handling validation and business logic errors separately from system errors.
|
|
12
|
-
Choose [`:throw`](/:throw) when a step failed and the routine may recover; choose `:reject` when the routine decided the request cannot be fulfilled.
|
|
10
|
+
Importantly, `:reject` does not trigger `:catch` blocks in [`:try`](/:try) statements, making it ideal for handling validation and business logic errors separately from system errors.
|
|
13
11
|
|
|
14
12
|
#### Keys
|
|
15
13
|
|
|
@@ -8,7 +8,6 @@ The `:throw` control creates a system error that immediately stops routine execu
|
|
|
8
8
|
Unlike [`:reject`](/:reject), which handles expected user errors, `:throw` is designed for unexpected system failures, programming errors, or critical issues that require attention.
|
|
9
9
|
The key difference is that `:throw` can be caught and handled by [`:try`](/:try)/`:catch` blocks, while [`:reject`](/:reject) cannot.
|
|
10
10
|
This makes `:throw` ideal for recoverable system errors where you might want to implement fallback logic.
|
|
11
|
-
Choose `:throw` when a step failed and the routine may recover; choose [`:reject`](/:reject) when the routine decided the request cannot be fulfilled.
|
|
12
11
|
|
|
13
12
|
#### Keys
|
|
14
13
|
|
package/content/controls/try.md
CHANGED
|
@@ -7,13 +7,12 @@
|
|
|
7
7
|
If one control in the routine chain defined in the `:try` key fails by throwing an error, the steps in the list following the failed control will not be executed.
|
|
8
8
|
To handle any errors thrown by a routine element, a routine can be provided using `catch` key.
|
|
9
9
|
The routine defined using the `:finally` key will be run regardless of whether or not the routine throws an error.
|
|
10
|
-
A [`:reject`](/:reject) inside the `:try` routine is __not__ caught. `:reject` is the routine's own reply — it stops the routine, returns a `"reject"` status to the caller, and flows past every enclosing `:catch`. `:finally` still runs. Use [`:throw`](/:throw) for failures a `:catch` should handle.
|
|
11
10
|
|
|
12
11
|
#### Keys
|
|
13
12
|
|
|
14
13
|
- `:try: routine`: __Required__ - The routine to be run.
|
|
15
|
-
- `:catch: routine`: The routine to execute if any step in the routine defined errors.
|
|
16
|
-
- `:finally: routine`: The routine to be run regardless of the out come of the initial routine.
|
|
14
|
+
- `:catch: routine`: The routine to execute if any step in the routine defined errors.
|
|
15
|
+
- `:finally: routine`: The routine to be run regardless of the out come of the initial routine.
|
|
17
16
|
|
|
18
17
|
#### Examples
|
|
19
18
|
|
|
@@ -6,12 +6,12 @@ AG Grid data table with sorting, filtering, and row selection. Four display bloc
|
|
|
6
6
|
|
|
7
7
|
Four display blocks share one implementation and one property schema. They differ only in how they look:
|
|
8
8
|
|
|
9
|
-
| Block
|
|
10
|
-
|
|
|
11
|
-
| `AgGridLowdefy`
|
|
12
|
-
| `AgGridAlpine`
|
|
13
|
-
| `AgGridBalham`
|
|
14
|
-
| `AgGridMaterial` | AG Grid's Material theme, recoloured with the app's antd tokens.
|
|
9
|
+
| Block | Look |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| `AgGridLowdefy` | Themed from the app's antd design tokens. **Recommended for Lowdefy apps.** |
|
|
12
|
+
| `AgGridAlpine` | AG Grid's Alpine theme, recoloured with the app's antd tokens. |
|
|
13
|
+
| `AgGridBalham` | AG Grid's Balham theme, recoloured with the app's antd tokens. Compact. |
|
|
14
|
+
| `AgGridMaterial` | AG Grid's Material theme, recoloured with the app's antd tokens. |
|
|
15
15
|
|
|
16
16
|
Each has an input counterpart that holds the table data as the block's value: `AgGridLowdefyInput`, `AgGridInputAlpine`, `AgGridInputBalham` and `AgGridInputMaterial`.
|
|
17
17
|
|
|
@@ -21,11 +21,11 @@ Each has an input counterpart that holds the table data as the block's value: `A
|
|
|
21
21
|
|
|
22
22
|
`AgGridLowdefy` and `AgGridLowdefyInput` take a `size` property, mirroring antd Table:
|
|
23
23
|
|
|
24
|
-
| `size`
|
|
25
|
-
|
|
|
26
|
-
| `small`
|
|
27
|
-
| `middle` (default) | 44px
|
|
28
|
-
| `large`
|
|
24
|
+
| `size` | Row and header height |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| `small` | 36px |
|
|
27
|
+
| `middle` (default) | 44px |
|
|
28
|
+
| `large` | 54px |
|
|
29
29
|
|
|
30
30
|
`size` changes spacing and heights only — colours and font size are identical across sizes.
|
|
31
31
|
|
|
@@ -62,13 +62,13 @@ Setting AG Grid's `--ag-*` CSS variables in a block's `style` **still works**
|
|
|
62
62
|
|
|
63
63
|
The one thing that did change: AG Grid v33 renamed or folded away a number of the v32 `--ag-*` variables, and an override naming one of those now does nothing. The variables used in the example above map to parameters like this:
|
|
64
64
|
|
|
65
|
-
| `style` key (v32 `--ag-*`)
|
|
66
|
-
|
|
|
67
|
-
| `--ag-header-background-color`
|
|
68
|
-
| `--ag-header-foreground-color`
|
|
65
|
+
| `style` key (v32 `--ag-*`) | `themeParams` key |
|
|
66
|
+
| --- | --- |
|
|
67
|
+
| `--ag-header-background-color` | `headerBackgroundColor` |
|
|
68
|
+
| `--ag-header-foreground-color` | `headerTextColor` |
|
|
69
69
|
| `--ag-selected-row-background-color` | `selectedRowBackgroundColor` |
|
|
70
|
-
| `--ag-row-hover-color`
|
|
71
|
-
| `--ag-border-color`
|
|
70
|
+
| `--ag-row-hover-color` | `rowHoverColor` |
|
|
71
|
+
| `--ag-border-color` | `borderColor` |
|
|
72
72
|
|
|
73
73
|
Four of those five variable names still work as-is. `--ag-header-foreground-color` is the exception: v33 renamed it to `--ag-header-text-color`, so an app still setting the old name gets no header text colour and no warning. Move it to `themeParams.headerTextColor`.
|
|
74
74
|
|
|
@@ -1320,7 +1320,7 @@ Migrate the column-level checkbox flags in the same edit — `checkboxSelection`
|
|
|
1320
1320
|
| `columnDefs.$.sortable` | boolean | `false` | Set to true to allow sorting on this column. |
|
|
1321
1321
|
| `columnDefs.$.resizable` | boolean | `false` | Set to true to allow this column should be resized. |
|
|
1322
1322
|
| `columnDefs.$.width` | number | - | Initial width in pixels for the cell. |
|
|
1323
|
-
| `columnDefs.$.cellStyle` |
|
|
1323
|
+
| `columnDefs.$.cellStyle` | number | - | An object of css values returning an object of css values for a particular cell. |
|
|
1324
1324
|
| `columnDefs.$.cellRenderer` | object | - | Provide your own cell Renderer function (using the `_function` operator) for this column's cells. |
|
|
1325
1325
|
| `columnDefs.$.valueFormatter` | object \| string | - | A function (using the `_function` operator) or expression to format a value, should return a string. Not used for CSV export or copy to clipboard, only for UI cell rendering. |
|
|
1326
1326
|
| `columnDefs.$.tooltipField` | string | - | The field of the row object to read the tooltip value from. When set, hovering a cell shows a tooltip with that value using the grid's default tooltip component. |
|
|
@@ -1109,14 +1109,14 @@ I've started on the date picker component. Quick question — should it default
|
|
|
1109
1109
|
| `gap` | number | - | Letter type unit distance between left and right sides. |
|
|
1110
1110
|
| `icon` | string \| object | - | Name of an React-Icon (See all icons) or properties of an Icon block to use an icon in avatar. |
|
|
1111
1111
|
| `shape` | string | `"circle"` | Shape of the avatar. Enum: `circle`, `square`. |
|
|
1112
|
-
| `size` | string \|
|
|
1112
|
+
| `size` | string \| object | `"default"` | Size of the avatar; default, small, large or responsive. Enum: `default`, `small`, `large`. |
|
|
1113
1113
|
| `src` | string | - | The address of the image for an image avatar. |
|
|
1114
1114
|
| `group` | object | - | Render as an avatar group with multiple avatars. When set, the block renders Avatar.Group wrapping data-driven avatars. |
|
|
1115
1115
|
| `group.maxCount` | number | - | Max avatars to show. Excess shows as "+N". |
|
|
1116
1116
|
| `group.maxPopoverPlacement` | string | `"top"` | Placement of the overflow popover. Enum: `top`, `bottom`. |
|
|
1117
1117
|
| `group.maxPopoverTrigger` | string | `"hover"` | Trigger mode for the overflow popover. Enum: `hover`, `click`. |
|
|
1118
1118
|
| `group.shape` | string | - | Default shape for all avatars in the group. Enum: `circle`, `square`. |
|
|
1119
|
-
| `group.size` | string \| number | - | Default size for all avatars in the group: default
|
|
1119
|
+
| `group.size` | string \| number | - | Default size for all avatars in the group. Enum: `default`, `small`, `large`. |
|
|
1120
1120
|
| `group.avatars` | array | - | Array of avatar configurations. |
|
|
1121
1121
|
| `group.avatars.$.alt` | string | - | Alt text for image avatar. |
|
|
1122
1122
|
| `group.avatars.$.color` | string | - | Background color. |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# DiffList
|
|
2
2
|
|
|
3
|
-
`DiffList` renders a polished, user-friendly diff between a `before` and an `after` object as a grouped table of changes. Built on `microdiff` for the diff engine and antd primitives for rendering, it groups changes by top-level key, tags each row as Added / Removed / Changed, and supports per-path value formatters (`date`, `datetime`, `boolean`, `currency`, `enum`, `json`, `code`), humanised `labels`, and `hide` / `show` glob filtering. All colours come from antd
|
|
3
|
+
`DiffList` renders a polished, user-friendly diff between a `before` and an `after` object as a grouped table of changes. Built on `microdiff` for the diff engine and antd primitives for rendering, it groups changes by top-level key, tags each row as Added / Removed / Changed, and supports per-path value formatters (`date`, `datetime`, `boolean`, `currency`, `enum`, `json`, `code`), humanised `labels`, and `hide` / `show` glob filtering. All colours come from antd's semantic tokens so dark mode and `theme` overrides work automatically.
|
|
4
4
|
|
|
5
5
|
```yaml
|
|
6
6
|
- id: diff_list_profile
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# DiffTimeline
|
|
2
2
|
|
|
3
|
-
`DiffTimeline` renders a diff as a vertical audit trail using Ant Design
|
|
3
|
+
`DiffTimeline` renders a diff as a vertical audit trail using Ant Design's `Timeline` component. Each change becomes a timeline entry with a colour-coded dot (green for added, red for removed, blue for changed) and a breadcrumb-style label that shows the full path to the changed field. Uses the same filtering, labelling, and per-path value formatters as `DiffList`.
|
|
4
4
|
|
|
5
5
|
```yaml
|
|
6
6
|
- id: diff_timeline_order
|
|
@@ -408,41 +408,7 @@ Apache ECharts visualization with full chart configuration support.
|
|
|
408
408
|
|
|
409
409
|
| Event | Event Data | Description |
|
|
410
410
|
| --- | --- | --- |
|
|
411
|
-
| `click` | \- | Trigger actions when
|
|
412
|
-
| `dblclick` | \- | Trigger actions when a chart element is double clicked. |
|
|
413
|
-
| `mousedown` | \- | Trigger actions when the mouse is pressed on a chart element. |
|
|
414
|
-
| `mousemove` | \- | Trigger actions when the mouse moves over a chart element. |
|
|
415
|
-
| `mouseup` | \- | Trigger actions when the mouse is released on a chart element. |
|
|
416
|
-
| `mouseover` | \- | Trigger actions when the mouse enters a chart element. |
|
|
417
|
-
| `mouseout` | \- | Trigger actions when the mouse leaves a chart element. |
|
|
418
|
-
| `globalout` | \- | Trigger actions when the mouse leaves the chart. |
|
|
419
|
-
| `contextmenu` | \- | Trigger actions on a context menu on a chart element. |
|
|
420
|
-
| `highlight` | \- | Trigger actions when a chart element is highlighted. |
|
|
421
|
-
| `downplay` | \- | Trigger actions when a chart element highlight is removed. |
|
|
422
|
-
| `selectchanged` | \- | Trigger actions when the selected chart elements change. |
|
|
423
|
-
| `legendselectchanged` | \- | Trigger actions when the legend selection changes. |
|
|
424
|
-
| `legendselected` | \- | Trigger actions when a legend item is selected. |
|
|
425
|
-
| `legendunselected` | \- | Trigger actions when a legend item is unselected. |
|
|
426
|
-
| `legendselectall` | \- | Trigger actions when all legend items are selected. |
|
|
427
|
-
| `legendinverseselect` | \- | Trigger actions when the legend selection is inverted. |
|
|
428
|
-
| `legendscroll` | \- | Trigger actions when the legend is scrolled. |
|
|
429
|
-
| `datazoom` | \- | Trigger actions when the data zoom range changes. |
|
|
430
|
-
| `datarangeselected` | \- | Trigger actions when the visual map range is selected. |
|
|
431
|
-
| `timelinechanged` | \- | Trigger actions when the timeline point changes. |
|
|
432
|
-
| `timelineplaychanged` | \- | Trigger actions when timeline playback is toggled. |
|
|
433
|
-
| `restore` | \- | Trigger actions when the chart is restored. |
|
|
434
|
-
| `dataviewchanged` | \- | Trigger actions when the data view toolbox changes the data. |
|
|
435
|
-
| `magictypechanged` | \- | Trigger actions when the magic type toolbox changes the chart type. |
|
|
436
|
-
| `geoselectchanged` | \- | Trigger actions when the geo selection changes. |
|
|
437
|
-
| `geoselected` | \- | Trigger actions when a geo region is selected. |
|
|
438
|
-
| `geounselected` | \- | Trigger actions when a geo region is unselected. |
|
|
439
|
-
| `axisareaselected` | \- | Trigger actions when a parallel axis area is selected. |
|
|
440
|
-
| `brush` | \- | Trigger actions when a brush selection is made. |
|
|
441
|
-
| `brushEnd` | \- | Trigger actions when a brush selection ends. |
|
|
442
|
-
| `brushselected` | \- | Trigger actions when the brush selects chart elements. |
|
|
443
|
-
| `globalcursortaken` | \- | Trigger actions when the global cursor is taken. |
|
|
444
|
-
| `rendered` | \- | Trigger actions when the chart is rendered. |
|
|
445
|
-
| `finished` | \- | Trigger actions when the chart render is finished. |
|
|
411
|
+
| `click` | \- | Trigger actions when the element is clicked. |
|
|
446
412
|
|
|
447
413
|
| Key | Target |
|
|
448
414
|
| --- | --- |
|
|
@@ -1006,7 +1006,7 @@ Learn how to configure your Lowdefy application with YAML configuration files.
|
|
|
1006
1006
|
| `forceSubMenuRender` | boolean | `false` | Render submenu into DOM before it becomes visible. |
|
|
1007
1007
|
| `subMenuCloseDelay` | number | - | Delay time to hide submenu when mouse leaves (in seconds). |
|
|
1008
1008
|
| `subMenuOpenDelay` | number | - | Delay time to show submenu when mouse enters (in seconds). |
|
|
1009
|
-
| `theme` |
|
|
1009
|
+
| `theme` | object | - | Antd design token overrides for this block. See [antd design tokens](https://ant.design/components/overview#design-token). See [Ant Design menu tokens](https://ant.design/components/menu#design-token). |
|
|
1010
1010
|
| `theme.dropdownWidth` | number | `160` | Width of dropdown submenus. |
|
|
1011
1011
|
| `theme.zIndexPopup` | number | `1050` | Z-index for popup submenus. |
|
|
1012
1012
|
| `theme.itemBorderRadius` | number | `8` | Border radius for menu items. |
|
|
@@ -404,7 +404,7 @@ Present this QR code at the entrance for check-in.
|
|
|
404
404
|
- id: ticket_qr_row
|
|
405
405
|
type: Box
|
|
406
406
|
layout:
|
|
407
|
-
|
|
407
|
+
contentAlign: center
|
|
408
408
|
gap: 8
|
|
409
409
|
blocks:
|
|
410
410
|
- id: ticket_qr
|
|
@@ -435,7 +435,7 @@ Present this QR code at the entrance for check-in.
|
|
|
435
435
|
- id: wifi_qr_row
|
|
436
436
|
type: Box
|
|
437
437
|
layout:
|
|
438
|
-
|
|
438
|
+
contentAlign: center
|
|
439
439
|
gap: 8
|
|
440
440
|
blocks:
|
|
441
441
|
- id: wifi_qr
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# S3Download
|
|
2
2
|
|
|
3
|
-
__Deprecated__ — use the provider-neutral
|
|
3
|
+
__Deprecated__ — use the provider-neutral <a href="/Download">Download</a> block with `downloadPolicyRequestId` instead. S3Download remains as an alias so existing apps keep working. Download files from AWS S3. Requires an AwsS3Bucket connection and an AwsS3PresignedGetObject request. The s3GetPolicyRequestId property must reference the request id. If files were uploaded with S3Upload, its fileList value can be mapped directly to this block.
|
|
4
4
|
|
|
5
5
|
> The S3Download block requires an AwsS3Bucket connection and an AwsS3PresignedGetObject request. The examples below show configuration structure but will not download files without a configured connection.
|
|
6
6
|
|
|
@@ -356,6 +356,5 @@ See the [MiniSearch API docs](https://lucaong.github.io/minisearch/classes/MiniS
|
|
|
356
356
|
| `/itemDescription` | The description/snippet in a result item. |
|
|
357
357
|
| `/highlight` | Highlighted match text (<mark> elements). |
|
|
358
358
|
| `/empty` | The empty state message. |
|
|
359
|
-
| `/loading` | The loading spinner container. |
|
|
360
359
|
|
|
361
360
|
No slots defined.
|
|
@@ -232,7 +232,6 @@ Button-shaped skeleton loading placeholder.
|
|
|
232
232
|
|
|
233
233
|
| Property | Type | Default | Description |
|
|
234
234
|
| --- | --- | --- | --- |
|
|
235
|
-
| `shape` | string | `"default"` | Shape of the skeleton; round gives fully rounded ends. Enum: `default`, `round`. |
|
|
236
235
|
| `size` | string | `"medium"` | Size of the skeleton. Enum: `small`, `medium`, `large`. |
|
|
237
236
|
| `width` | number \| string | - | Width of the skeleton. |
|
|
238
237
|
|
|
@@ -206,7 +206,6 @@ Input-shaped skeleton loading placeholder.
|
|
|
206
206
|
|
|
207
207
|
| Property | Type | Default | Description |
|
|
208
208
|
| --- | --- | --- | --- |
|
|
209
|
-
| `label` | boolean | `true` | Render the label skeleton. Set to false for an input without a label. |
|
|
210
209
|
| `size` | string | `"medium"` | Size of the skeleton. Enum: `small`, `medium`, `large`. |
|
|
211
210
|
| `width` | number \| string | - | Width of the skeleton. |
|
|
212
211
|
| `labelHeight` | number \| string | - | Height of the skeleton. |
|
|
@@ -892,7 +892,7 @@ Radio group styled as toggle buttons.
|
|
|
892
892
|
| `disabled` | boolean | `false` | Disable the block if true. |
|
|
893
893
|
| `options` | array | `[]` | Options can either be an array of primitive values, on an array of label, value pairs - supports html. |
|
|
894
894
|
| `options.$.label` | string | - | Value label shown to user - supports html. |
|
|
895
|
-
| `options.$.value` |
|
|
895
|
+
| `options.$.value` | string \| number \| boolean | - | Option value. |
|
|
896
896
|
| `options.$.disabled` | boolean | `false` | Disable the option if true. |
|
|
897
897
|
| `options.$.style` | object | - | Css style to apply to the option. |
|
|
898
898
|
| `options.$.color` | string | - | Color applied to this option when it is selected. Falls back to the block-level color when not set. |
|
|
@@ -703,92 +703,16 @@ Checkbox group for selecting multiple options.
|
|
|
703
703
|
valueKey: id
|
|
704
704
|
```
|
|
705
705
|
|
|
706
|
-
```yaml
|
|
707
|
-
- id: columns_two
|
|
708
|
-
type: CheckboxSelector
|
|
709
|
-
properties:
|
|
710
|
-
title: Two columns
|
|
711
|
-
columns: 2
|
|
712
|
-
options:
|
|
713
|
-
- Weekday mornings
|
|
714
|
-
- Weekday afternoons
|
|
715
|
-
- Weekday evenings
|
|
716
|
-
- Weekend mornings
|
|
717
|
-
- Weekend afternoons
|
|
718
|
-
- Weekend evenings
|
|
719
|
-
- id: columns_four
|
|
720
|
-
type: CheckboxSelector
|
|
721
|
-
properties:
|
|
722
|
-
title: Four columns
|
|
723
|
-
columns: 4
|
|
724
|
-
options:
|
|
725
|
-
- January
|
|
726
|
-
- February
|
|
727
|
-
- March
|
|
728
|
-
- April
|
|
729
|
-
- May
|
|
730
|
-
- June
|
|
731
|
-
- July
|
|
732
|
-
- August
|
|
733
|
-
- id: columns_responsive
|
|
734
|
-
type: CheckboxSelector
|
|
735
|
-
properties:
|
|
736
|
-
title: One column below md, three from md up
|
|
737
|
-
columns:
|
|
738
|
-
xs: 1
|
|
739
|
-
md: 3
|
|
740
|
-
options:
|
|
741
|
-
- Email
|
|
742
|
-
- SMS
|
|
743
|
-
- Push notification
|
|
744
|
-
- Webhook
|
|
745
|
-
- In-app message
|
|
746
|
-
- Weekly digest
|
|
747
|
-
- id: columns_gutter
|
|
748
|
-
type: CheckboxSelector
|
|
749
|
-
properties:
|
|
750
|
-
title: Wider gutter
|
|
751
|
-
columns: 2
|
|
752
|
-
gutter:
|
|
753
|
-
- 24
|
|
754
|
-
- 12
|
|
755
|
-
options:
|
|
756
|
-
- Read
|
|
757
|
-
- Write
|
|
758
|
-
- Delete
|
|
759
|
-
- Administer
|
|
760
|
-
- id: columns_per_option_color
|
|
761
|
-
type: CheckboxSelector
|
|
762
|
-
properties:
|
|
763
|
-
title: Coloured options in a grid
|
|
764
|
-
columns: 2
|
|
765
|
-
options:
|
|
766
|
-
- label: Low
|
|
767
|
-
value: low
|
|
768
|
-
color: "#16a34a"
|
|
769
|
-
- label: Medium
|
|
770
|
-
value: medium
|
|
771
|
-
color: "#d97706"
|
|
772
|
-
- label: High
|
|
773
|
-
value: high
|
|
774
|
-
color: "#dc2626"
|
|
775
|
-
- label: Critical
|
|
776
|
-
value: critical
|
|
777
|
-
color: "#7e22ce"
|
|
778
|
-
```
|
|
779
|
-
|
|
780
706
|
| Property | Type | Default | Description |
|
|
781
707
|
| --- | --- | --- | --- |
|
|
782
|
-
| `align` | string | `"start"` | Align options.
|
|
708
|
+
| `align` | string | `"start"` | Align options. Enum: `start`, `end`, `center`, `baseline`. |
|
|
783
709
|
| `color` | string | - | Selected checkbox color. |
|
|
784
|
-
| `columns` | integer \| object | - | Number of columns to lay the options out in, or a responsive breakpoint object. Use a count that divides 24 evenly. |
|
|
785
710
|
| `disabled` | boolean | `false` | Disable the block if true. |
|
|
786
|
-
| `direction` | string | `"horizontal"` | List options horizontally or vertical.
|
|
787
|
-
| `
|
|
788
|
-
| `wrap` | boolean | `true` | Specifies wrapping of options. Applies when 'direction' is 'horizontal'. Ignored when 'columns' is set. |
|
|
711
|
+
| `direction` | string | `"horizontal"` | List options horizontally or vertical. Enum: `horizontal`, `vertical`. |
|
|
712
|
+
| `wrap` | boolean | `true` | Specifies wrapping of options. Applies when 'direction' is 'horizontal'. |
|
|
789
713
|
| `options` | array | `[]` | Options can either be an array of primitive values, on an array of label, value pairs - supports html. |
|
|
790
714
|
| `options.$.label` | string | - | Value label shown to user - supports html. |
|
|
791
|
-
| `options.$.value` |
|
|
715
|
+
| `options.$.value` | string \| number \| boolean | - | Option value. |
|
|
792
716
|
| `options.$.disabled` | boolean | `false` | Disable the option if true. |
|
|
793
717
|
| `options.$.style` | object | - | Css style to apply to the option. |
|
|
794
718
|
| `options.$.color` | string | - | Color applied to this option when it is selected. Falls back to the block-level color when not set. |
|
|
@@ -822,7 +746,7 @@ Checkbox group for selecting multiple options.
|
|
|
822
746
|
| `theme.lineWidth` | number | `1` | Border width of the checkbox. |
|
|
823
747
|
| `theme.lineType` | string | `"solid"` | Border style of the checkbox. |
|
|
824
748
|
| `theme.fontSize` | number | `14` | Font size for checkbox labels. |
|
|
825
|
-
| `theme.marginXS` | number | `8` |
|
|
749
|
+
| `theme.marginXS` | number | `8` | Horizontal gap between checkboxes in a group. |
|
|
826
750
|
| `theme.paddingXS` | number | `8` | Inline padding between the checkbox and its label text. |
|
|
827
751
|
|
|
828
752
|
| Event | Event Data | Description |
|