@ea-lab/reactive-json-docs 0.7.0 → 1.0.0-alpha.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/package.json +7 -5
- package/public/rjbuild/docs/advanced-concepts/data-processors.md +2 -2
- package/public/rjbuild/docs/advanced-concepts/plugins/component-development-guide-llm.md +14 -14
- package/public/rjbuild/docs/advanced-concepts/plugins/plugin-system.md +47 -1
- package/public/rjbuild/docs/advanced-concepts/plugins/plugin-system.yaml +53 -1
- package/public/rjbuild/docs/core/action/HashChangeListener.md +1 -1
- package/public/rjbuild/docs/core/action/HashChangeListener.yaml +24 -6
- package/public/rjbuild/docs/core/action/Hide.md +2 -2
- package/public/rjbuild/docs/core/action/Hide.yaml +4 -3
- package/public/rjbuild/docs/core/action/MessageListener.md +4 -4
- package/public/rjbuild/docs/core/action/MessageListener.yaml +18 -6
- package/public/rjbuild/docs/core/action/ReactOnEvent.md +4 -4
- package/public/rjbuild/docs/core/action/ReactOnEvent.yaml +4 -4
- package/public/rjbuild/docs/core/action/Redirect.md +2 -2
- package/public/rjbuild/docs/core/action/Redirect.yaml +8 -2
- package/public/rjbuild/docs/core/action/VisuallyHide.md +2 -2
- package/public/rjbuild/docs/core/action/VisuallyHide.yaml +2 -2
- package/public/rjbuild/docs/core/dataMapping/simpleMapping.md +5 -5
- package/public/rjbuild/docs/core/dataMapping/simpleMapping.yaml +90 -60
- package/public/rjbuild/docs/core/element/debug/VariablesDebug.md +59 -0
- package/public/rjbuild/docs/core/element/debug/VariablesDebug.yaml +71 -0
- package/public/rjbuild/docs/core/element/form/Input.md +307 -0
- package/public/rjbuild/docs/core/element/form/Input.yaml +572 -0
- package/public/rjbuild/docs/core/element/html/FolderSortableTree.yaml +40 -12
- package/public/rjbuild/docs/core/element/html/FormatNumeral.yaml +21 -7
- package/public/rjbuild/docs/core/element/html/Html.yaml +26 -9
- package/public/rjbuild/docs/core/element/html/LabelFromValue.yaml +25 -8
- package/public/rjbuild/docs/core/element/html/PreformattedMarkup.yaml +23 -7
- package/public/rjbuild/docs/core/element/html/SortableTreeItemCollapseButton.yaml +7 -6
- package/public/rjbuild/docs/core/element/html/SyntaxHighlighter.yaml +56 -20
- package/public/rjbuild/docs/core/element/special/Count.md +8 -10
- package/public/rjbuild/docs/core/element/special/Count.yaml +121 -40
- package/public/rjbuild/docs/core/element/special/DataFilter.md +40 -41
- package/public/rjbuild/docs/core/element/special/DataFilter.yaml +197 -81
- package/public/rjbuild/docs/core/element/special/DelayedActions.md +13 -15
- package/public/rjbuild/docs/core/element/special/DelayedActions.yaml +32 -13
- package/public/rjbuild/docs/core/element/special/PageControls.md +8 -10
- package/public/rjbuild/docs/core/element/special/PageControls.yaml +9 -8
- package/public/rjbuild/docs/core/element/special/Phantom.md +9 -11
- package/public/rjbuild/docs/core/element/special/Phantom.yaml +22 -9
- package/public/rjbuild/docs/core/element/special/ReactiveJsonSubroot.md +7 -9
- package/public/rjbuild/docs/core/element/special/ReactiveJsonSubroot.yaml +167 -49
- package/public/rjbuild/docs/core/element/special/Switch.md +36 -38
- package/public/rjbuild/docs/core/element/special/Switch.yaml +68 -40
- package/public/rjbuild/docs/core/example/html.md +2 -2
- package/public/rjbuild/docs/core/example/html.yaml +2 -3
- package/public/rjbuild/docs/core/example/native-html-forms.md +245 -0
- package/public/rjbuild/docs/core/example/native-html-forms.yaml +393 -0
- package/public/rjbuild/docs/core/reaction/addData.md +17 -5
- package/public/rjbuild/docs/core/reaction/addData.yaml +70 -11
- package/public/rjbuild/docs/core/reaction/fetchData.md +1 -2
- package/public/rjbuild/docs/core/reaction/fetchData.yaml +84 -19
- package/public/rjbuild/docs/core/reaction/moveData.md +0 -4
- package/public/rjbuild/docs/core/reaction/moveData.yaml +28 -6
- package/public/rjbuild/docs/core/reaction/postMessage.md +0 -4
- package/public/rjbuild/docs/core/reaction/postMessage.yaml +29 -6
- package/public/rjbuild/docs/core/reaction/redirectNow.md +0 -4
- package/public/rjbuild/docs/core/reaction/redirectNow.yaml +10 -3
- package/public/rjbuild/docs/core/reaction/removeData.md +2 -6
- package/public/rjbuild/docs/core/reaction/removeData.yaml +40 -2
- package/public/rjbuild/docs/core/reaction/setClipboardData.md +0 -4
- package/public/rjbuild/docs/core/reaction/setClipboardData.yaml +10 -3
- package/public/rjbuild/docs/core/reaction/setData.md +18 -8
- package/public/rjbuild/docs/core/reaction/setData.yaml +43 -11
- package/public/rjbuild/docs/core/reaction/submitData.md +2 -3
- package/public/rjbuild/docs/core/reaction/submitData.yaml +43 -7
- package/public/rjbuild/docs/core/reaction/triggerEvent.md +0 -4
- package/public/rjbuild/docs/core/reaction/triggerEvent.yaml +25 -11
- package/public/rjbuild/docs/docs-components/Mermaid.md +254 -0
- package/public/rjbuild/docs/docs-components/Mermaid.yaml +339 -0
- package/public/rjbuild/docs/docs-components/index.yaml +1 -0
- package/public/rjbuild/docs/getting-started/actions.md +1 -1
- package/public/rjbuild/docs/index.yaml +2 -1
- package/public/rjbuild/docs/install.md +26 -29
- package/public/rjbuild/docs/install.yaml +4 -10
- package/public/rjbuild/docs/integration/bootstrap/action/Popover.md +26 -0
- package/public/rjbuild/docs/{core → integration/bootstrap}/action/Popover.yaml +28 -5
- package/public/rjbuild/docs/{core → integration/bootstrap}/action/Tooltip.md +4 -4
- package/public/rjbuild/docs/{core → integration/bootstrap}/action/Tooltip.yaml +16 -3
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/CheckBoxField.md +8 -8
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/CheckBoxField.yaml +40 -8
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/DateField.md +5 -5
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/DateField.yaml +27 -5
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/NumberField.md +7 -7
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/NumberField.yaml +32 -7
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/SelectField.md +9 -9
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/SelectField.yaml +46 -9
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/TextAreaField.md +8 -8
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/TextAreaField.yaml +36 -8
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/TextField.md +8 -8
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/TextField.yaml +38 -8
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/formElementsCommon.md +2 -4
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/index.md +0 -2
- package/public/rjbuild/docs/integration/bootstrap/element/html/AccordionItem.md +69 -0
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/html/AccordionItem.yaml +19 -7
- package/public/rjbuild/docs/integration/bootstrap/element/html/Modal.md +127 -0
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/html/Modal.yaml +35 -12
- package/public/rjbuild/docs/integration/bootstrap/element/html/Tabs.md +150 -0
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/html/Tabs.yaml +24 -15
- package/public/rjbuild/docs/integration/bootstrap/element/html/index.md +13 -0
- package/public/rjbuild/docs/{core → integration/bootstrap}/element/special/BootstrapElement.md +4 -6
- package/public/rjbuild/docs/integration/bootstrap/element/special/BootstrapElement.yaml +29 -0
- package/public/rjbuild/docs/integration/bootstrap/element/special/index.md +19 -0
- package/public/rjbuild/docs/integration/bootstrap/example/website.md +41 -0
- package/public/rjbuild/docs/integration/bootstrap/overview.md +69 -0
- package/public/rjbuild/docs/integration/bootstrap/overview.yaml +87 -0
- package/public/rjbuild/docs/core/action/Popover.md +0 -26
- package/public/rjbuild/docs/core/element/special/BootstrapElement.yaml +0 -18
- /package/public/rjbuild/docs/{core → integration/bootstrap}/element/form/index.yaml +0 -0
- /package/public/rjbuild/docs/{core → integration/bootstrap}/example/accordion.md +0 -0
- /package/public/rjbuild/docs/{core → integration/bootstrap}/example/accordion.yaml +0 -0
- /package/public/rjbuild/docs/{core → integration/bootstrap}/example/dynamic-content.md +0 -0
- /package/public/rjbuild/docs/{core → integration/bootstrap}/example/dynamic-content.yaml +0 -0
- /package/public/rjbuild/docs/{core → integration/bootstrap}/example/website.yaml +0 -0
- /package/public/rjbuild/docs/{chartjs → integration/chartjs}/components.yaml +0 -0
- /package/public/rjbuild/docs/{chartjs → integration/chartjs}/overview.yaml +0 -0
|
@@ -8,10 +8,27 @@ renderView:
|
|
|
8
8
|
**Note:** The `tag` property must be a static string. It cannot be set dynamically via template or data.
|
|
9
9
|
|
|
10
10
|
## Properties
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
11
|
+
|
|
12
|
+
- type: DefinitionList
|
|
13
|
+
content:
|
|
14
|
+
- term:
|
|
15
|
+
code: tag
|
|
16
|
+
after: "(string, required)"
|
|
17
|
+
details:
|
|
18
|
+
type: Markdown
|
|
19
|
+
content: "The HTML tag to render (e.g., div, span, section)."
|
|
20
|
+
- term:
|
|
21
|
+
code: attributes
|
|
22
|
+
after: "(object, optional)"
|
|
23
|
+
details: "Attributes for the tag (class, id, etc.)."
|
|
24
|
+
- term:
|
|
25
|
+
code: content
|
|
26
|
+
after: "(object|array, optional)"
|
|
27
|
+
details: "Content to render inside the tag (any Reactive-JSON view or array)."
|
|
28
|
+
- term:
|
|
29
|
+
code: extra
|
|
30
|
+
after: "(object, optional)"
|
|
31
|
+
details: "Additional content rendered after the main tag."
|
|
15
32
|
|
|
16
33
|
- type: BsAlert
|
|
17
34
|
attributes:
|
|
@@ -60,8 +77,8 @@ renderView:
|
|
|
60
77
|
- type: Markdown
|
|
61
78
|
content: |
|
|
62
79
|
## Limitations
|
|
63
|
-
- The `tag` property does not support template evaluation and must be a static string
|
|
64
|
-
- No validation of tag names; invalid tags may cause rendering errors
|
|
65
|
-
- No support for dangerouslySetInnerHTML (use PreformattedMarkup for raw HTML)
|
|
66
|
-
- No built-in support for event handlers (use actions system for interactivity)
|
|
67
|
-
- No automatic support for custom attributes beyond React's attribute normalization
|
|
80
|
+
- The `tag` property does not support template evaluation and must be a static string.
|
|
81
|
+
- No validation of tag names; invalid tags may cause rendering errors.
|
|
82
|
+
- No support for dangerouslySetInnerHTML (use PreformattedMarkup for raw HTML).
|
|
83
|
+
- No built-in support for event handlers (use actions system for interactivity).
|
|
84
|
+
- No automatic support for custom attributes beyond React's attribute normalization.
|
|
@@ -6,10 +6,27 @@ renderView:
|
|
|
6
6
|
The `LabelFromValue` component displays the label associated with a value, using an option-like structure. It is useful for showing the display label of a value selected in a SelectField or any value/label mapping.
|
|
7
7
|
|
|
8
8
|
## Properties
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
9
|
+
|
|
10
|
+
- type: DefinitionList
|
|
11
|
+
content:
|
|
12
|
+
- term:
|
|
13
|
+
code: dataLocation
|
|
14
|
+
after: "(string, required)"
|
|
15
|
+
details: "Path to the value."
|
|
16
|
+
- term:
|
|
17
|
+
code: options
|
|
18
|
+
after: "(array, optional)"
|
|
19
|
+
details:
|
|
20
|
+
type: Markdown
|
|
21
|
+
content: "Array of `{label, value}` objects."
|
|
22
|
+
- term:
|
|
23
|
+
code: dynamicOptions
|
|
24
|
+
after: "(any, optional)"
|
|
25
|
+
details: "Template value for dynamic options."
|
|
26
|
+
- term:
|
|
27
|
+
code: defaultFieldValue
|
|
28
|
+
after: "(any, optional)"
|
|
29
|
+
details: "Default value if none is set."
|
|
13
30
|
|
|
14
31
|
- type: RjBuildDescriber
|
|
15
32
|
title: "Interactive Example: Display label from value"
|
|
@@ -48,7 +65,7 @@ renderView:
|
|
|
48
65
|
- type: Markdown
|
|
49
66
|
content: |
|
|
50
67
|
## Limitations
|
|
51
|
-
- Only the first matching label is displayed; duplicate values in options are not supported
|
|
52
|
-
- No support for grouped options or nested structures
|
|
53
|
-
- No built-in formatting for the label (use a wrapper if needed)
|
|
54
|
-
- If no options are provided, the raw value is shown
|
|
68
|
+
- Only the first matching label is displayed; duplicate values in options are not supported.
|
|
69
|
+
- No support for grouped options or nested structures.
|
|
70
|
+
- No built-in formatting for the label (use a wrapper if needed).
|
|
71
|
+
- If no options are provided, the raw value is shown.
|
|
@@ -6,10 +6,26 @@ renderView:
|
|
|
6
6
|
The `PreformattedMarkup` component renders HTML content with a strict allowlist of tags for safety. Use it to display rich text or HTML snippets, with filtering to prevent unwanted markup.
|
|
7
7
|
|
|
8
8
|
## Properties
|
|
9
|
-
- `content` (string, required): The HTML string to render (can use template values)
|
|
10
|
-
- `htmlTagAllowList` (array, optional): List of allowed tags (overrides default)
|
|
11
|
-
- `additionalAllowedTags` (array, optional): Tags to add to the allowlist
|
|
12
9
|
|
|
10
|
+
- type: DefinitionList
|
|
11
|
+
content:
|
|
12
|
+
- term:
|
|
13
|
+
code: content
|
|
14
|
+
after: "(string, required)"
|
|
15
|
+
details:
|
|
16
|
+
type: Markdown
|
|
17
|
+
content: "The HTML string to render (can use template values)."
|
|
18
|
+
- term:
|
|
19
|
+
code: htmlTagAllowList
|
|
20
|
+
after: "(array, optional)"
|
|
21
|
+
details: List of allowed tags (overrides default).
|
|
22
|
+
- term:
|
|
23
|
+
code: additionalAllowedTags
|
|
24
|
+
after: "(array, optional)"
|
|
25
|
+
details: Tags to add to the allowlist.
|
|
26
|
+
|
|
27
|
+
- type: Markdown
|
|
28
|
+
content: |
|
|
13
29
|
**Default allowed tags:** abbr, acronym, b, blockquote, br, caption, code, div, em, h1-h6, i, li, ol, p, span, sup, strong, table, tbody, td, tfoot, th, thead, tr, ul
|
|
14
30
|
|
|
15
31
|
- type: RjBuildDescriber
|
|
@@ -31,7 +47,7 @@ renderView:
|
|
|
31
47
|
- type: Markdown
|
|
32
48
|
content: |
|
|
33
49
|
## Limitations
|
|
34
|
-
- Only allowed tags are rendered; all others are stripped
|
|
35
|
-
- No support for custom attributes or inline styles
|
|
36
|
-
- No script, style, or event attributes are executed
|
|
37
|
-
- Not suitable for rendering untrusted HTML with complex requirements
|
|
50
|
+
- Only allowed tags are rendered; all others are stripped.
|
|
51
|
+
- No support for custom attributes or inline styles.
|
|
52
|
+
- No script, style, or event attributes are executed.
|
|
53
|
+
- Not suitable for rendering untrusted HTML with complex requirements.
|
|
@@ -11,11 +11,12 @@ renderView:
|
|
|
11
11
|
disappearance of the default collapse button.
|
|
12
12
|
|
|
13
13
|
## Properties
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
None.
|
|
15
16
|
|
|
16
17
|
## Technical Details
|
|
17
|
-
- Renders a button with CSS classes for styling
|
|
18
|
-
- Only appears when the tree item has children and supports collapsing
|
|
18
|
+
- Renders a button with CSS classes for styling.
|
|
19
|
+
- Only appears when the tree item has children and supports collapsing.
|
|
19
20
|
|
|
20
21
|
- type: RjBuildDescriber
|
|
21
22
|
title: "Interactive Example: Tree with a right aligned collapse button"
|
|
@@ -85,8 +86,8 @@ renderView:
|
|
|
85
86
|
- type: Markdown
|
|
86
87
|
content: |
|
|
87
88
|
## Limitations
|
|
88
|
-
- Only works within the template context of a `FolderSortableTree` item
|
|
89
|
-
- The button only appears when the tree item has children (`childCount > 0`)
|
|
90
|
-
- No customization of the collapse/expand behavior beyond what the underlying SortableTree provides
|
|
89
|
+
- Only works within the template context of a `FolderSortableTree` item.
|
|
90
|
+
- The button only appears when the tree item has children (`childCount > 0`).
|
|
91
|
+
- No customization of the collapse/expand behavior beyond what the underlying SortableTree provides.
|
|
91
92
|
- The styling is controlled by the dnd-kit-sortable-tree CSS classes. You will need to provide CSS to override
|
|
92
93
|
the default styling.
|
|
@@ -6,16 +6,52 @@ renderView:
|
|
|
6
6
|
The `SyntaxHighlighter` component provides syntax highlighting for code snippets using the react-syntax-highlighter library. It supports multiple programming languages and themes, making it perfect for displaying formatted code in documentation or tutorials.
|
|
7
7
|
|
|
8
8
|
## Properties
|
|
9
|
-
- `content` (string, required): The code content to highlight (supports template evaluation)
|
|
10
|
-
- `language` (string, optional): Programming language for syntax highlighting (default: "text")
|
|
11
|
-
- `style` (object, optional): Custom style theme for highlighting (overrides automatic dark mode detection)
|
|
12
|
-
- `lightStyle` (object, optional): Style theme for light mode (supports template evaluation)
|
|
13
|
-
- `darkStyle` (object, optional): Style theme for dark mode (supports template evaluation)
|
|
14
|
-
- `showLineNumbers` (boolean, optional): Whether to display line numbers (default: false)
|
|
15
|
-
- `wrapLines` (boolean, optional): Whether to wrap lines (default: false)
|
|
16
|
-
- `wrapLongLines` (boolean, optional): Whether to wrap long lines (default: false)
|
|
17
|
-
- `attributes` (object, optional): HTML attributes for the wrapper div
|
|
18
9
|
|
|
10
|
+
- type: DefinitionList
|
|
11
|
+
content:
|
|
12
|
+
- term:
|
|
13
|
+
code: content
|
|
14
|
+
after: "(string, required)"
|
|
15
|
+
details:
|
|
16
|
+
type: Markdown
|
|
17
|
+
content: "The code content to highlight (supports template evaluation)."
|
|
18
|
+
- term:
|
|
19
|
+
code: language
|
|
20
|
+
after: "(string, optional)"
|
|
21
|
+
details:
|
|
22
|
+
type: Markdown
|
|
23
|
+
content: "Programming language for syntax highlighting (default: `text`)."
|
|
24
|
+
- term:
|
|
25
|
+
code: style
|
|
26
|
+
after: "(object, optional)"
|
|
27
|
+
details: Custom style theme for highlighting (overrides automatic dark mode detection).
|
|
28
|
+
- term:
|
|
29
|
+
code: lightStyle
|
|
30
|
+
after: "(object, optional)"
|
|
31
|
+
details: Style theme for light mode (supports template evaluation).
|
|
32
|
+
- term:
|
|
33
|
+
code: darkStyle
|
|
34
|
+
after: "(object, optional)"
|
|
35
|
+
details: Style theme for dark mode (supports template evaluation).
|
|
36
|
+
- term:
|
|
37
|
+
code: showLineNumbers
|
|
38
|
+
after: "(boolean, optional)"
|
|
39
|
+
details: Whether to display line numbers (default: false).
|
|
40
|
+
- term:
|
|
41
|
+
code: wrapLines
|
|
42
|
+
after: "(boolean, optional)"
|
|
43
|
+
details: Whether to wrap lines (default: false).
|
|
44
|
+
- term:
|
|
45
|
+
code: wrapLongLines
|
|
46
|
+
after: "(boolean, optional)"
|
|
47
|
+
details: Whether to wrap long lines (default: false).
|
|
48
|
+
- term:
|
|
49
|
+
code: attributes
|
|
50
|
+
after: "(object, optional)"
|
|
51
|
+
details: HTML attributes for the wrapper div.
|
|
52
|
+
|
|
53
|
+
- type: Markdown
|
|
54
|
+
content: |
|
|
19
55
|
**Automatic Dark Mode**: The component automatically detects the user's color scheme preference and uses appropriate themes:
|
|
20
56
|
- Light mode: `docco` theme by default
|
|
21
57
|
- Dark mode: `atomOneDark` theme by default
|
|
@@ -230,9 +266,9 @@ renderView:
|
|
|
230
266
|
The component automatically adapts to the user's system color scheme preference:
|
|
231
267
|
|
|
232
268
|
### Automatic Theme Detection
|
|
233
|
-
- **Light mode**: Uses the `docco` theme by default (clean, minimal highlighting)
|
|
234
|
-
- **Dark mode**: Uses the `atomOneDark` theme by default (modern dark theme with good contrast)
|
|
235
|
-
- **Real-time switching**: Themes change instantly when the user switches their system preference
|
|
269
|
+
- **Light mode**: Uses the `docco` theme by default (clean, minimal highlighting).
|
|
270
|
+
- **Dark mode**: Uses the `atomOneDark` theme by default (modern dark theme with good contrast).
|
|
271
|
+
- **Real-time switching**: Themes change instantly when the user switches their system preference.
|
|
236
272
|
|
|
237
273
|
### Custom Theme Configuration
|
|
238
274
|
|
|
@@ -261,10 +297,10 @@ renderView:
|
|
|
261
297
|
## Styling and Themes
|
|
262
298
|
|
|
263
299
|
The component supports all react-syntax-highlighter themes. The style can be:
|
|
264
|
-
- A static style object imported from react-syntax-highlighter themes
|
|
265
|
-
- A template-evaluated value from your data context
|
|
266
|
-
- Any valid react-syntax-highlighter style configuration
|
|
267
|
-
- Different themes for light and dark modes using `lightStyle` and `darkStyle` properties
|
|
300
|
+
- A static style object imported from react-syntax-highlighter themes.
|
|
301
|
+
- A template-evaluated value from your data context.
|
|
302
|
+
- Any valid react-syntax-highlighter style configuration.
|
|
303
|
+
- Different themes for light and dark modes using `lightStyle` and `darkStyle` properties.
|
|
268
304
|
|
|
269
305
|
- type: Markdown
|
|
270
306
|
content: |
|
|
@@ -287,7 +323,7 @@ renderView:
|
|
|
287
323
|
- type: Markdown
|
|
288
324
|
content: |
|
|
289
325
|
## Limitations
|
|
290
|
-
- Style themes must be compatible with react-syntax-highlighter
|
|
291
|
-
- Large code blocks may impact performance
|
|
292
|
-
- Line numbers display depends on the chosen theme
|
|
293
|
-
- Custom syntax definitions are not supported through the template system
|
|
326
|
+
- Style themes must be compatible with react-syntax-highlighter.
|
|
327
|
+
- Large code blocks may impact performance.
|
|
328
|
+
- Line numbers display depends on the chosen theme.
|
|
329
|
+
- Custom syntax definitions are not supported through the template system.
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
# Count
|
|
2
2
|
|
|
3
|
-
## Introduction
|
|
4
|
-
|
|
5
3
|
The `Count` component returns the number of items matching a JSONPath pattern in the data context. It is useful for displaying counts of elements, such as the number of items in a list, matching a filter, or present in a subtree.
|
|
6
4
|
|
|
7
5
|
## Properties
|
|
8
|
-
- `jsonPathPattern` (string, required): The JSONPath pattern to evaluate for counting
|
|
6
|
+
- `jsonPathPattern` (string, required): The JSONPath pattern to evaluate for counting.
|
|
9
7
|
- `context` (string, optional): The context to use for evaluation (`global`, `template`, or `root`). Default is `global`.
|
|
10
8
|
|
|
11
9
|
## Behavior
|
|
12
|
-
- Evaluates the given JSONPath pattern on the selected data context
|
|
13
|
-
- Returns the number of matches found
|
|
14
|
-
- If `context` is `global`, uses the global data context; if `template`, uses the template context; if `root`, uses the root context
|
|
15
|
-
- If `jsonPathPattern` is not provided, renders nothing
|
|
10
|
+
- Evaluates the given JSONPath pattern on the selected data context.
|
|
11
|
+
- Returns the number of matches found.
|
|
12
|
+
- If `context` is `global`, uses the global data context; if `template`, uses the template context; if `root`, uses the root context.
|
|
13
|
+
- If `jsonPathPattern` is not provided, renders nothing.
|
|
16
14
|
|
|
17
15
|
## Example
|
|
18
16
|
```yaml
|
|
@@ -32,6 +30,6 @@ data:
|
|
|
32
30
|
```
|
|
33
31
|
|
|
34
32
|
## Limitations
|
|
35
|
-
- Only supports JSONPath patterns
|
|
36
|
-
- Returns 0 if no match or if the pattern is invalid
|
|
37
|
-
- Does not support advanced filtering or custom functions in JSONPath
|
|
33
|
+
- Only supports JSONPath patterns.
|
|
34
|
+
- Returns 0 if no match or if the pattern is invalid.
|
|
35
|
+
- Does not support advanced filtering or custom functions in JSONPath.
|
|
@@ -6,14 +6,27 @@ renderView:
|
|
|
6
6
|
The `Count` component returns the number of items matching a JSONPath pattern in the data context. It is useful for displaying counts of elements, such as the number of items in a list, matching a filter, or present in a subtree.
|
|
7
7
|
|
|
8
8
|
## Properties
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
|
|
10
|
+
- type: DefinitionList
|
|
11
|
+
content:
|
|
12
|
+
- term:
|
|
13
|
+
code: jsonPathPattern
|
|
14
|
+
after: "(string, required)"
|
|
15
|
+
details:
|
|
16
|
+
type: Markdown
|
|
17
|
+
content: "The JSONPath pattern to evaluate for counting."
|
|
18
|
+
- term:
|
|
19
|
+
code: context
|
|
20
|
+
after: "(string, optional)"
|
|
21
|
+
details:
|
|
22
|
+
type: Markdown
|
|
23
|
+
content: "The context to use for evaluation (`global`, `template`, or `root`). Default is `global`."
|
|
11
24
|
|
|
12
25
|
## Behavior
|
|
13
|
-
- Evaluates the given JSONPath pattern on the selected data context
|
|
14
|
-
- Returns the number of matches found
|
|
15
|
-
- If `context` is `global`, uses the global data context; if `template`, uses the template context; if `root`, uses the root context
|
|
16
|
-
- If `jsonPathPattern` is not provided, renders nothing
|
|
26
|
+
- Evaluates the given JSONPath pattern on the selected data context.
|
|
27
|
+
- Returns the number of matches found.
|
|
28
|
+
- If `context` is `global`, uses the global data context; if `template`, uses the template context; if `root`, uses the root context.
|
|
29
|
+
- If `jsonPathPattern` is not provided, renders nothing.
|
|
17
30
|
|
|
18
31
|
- type: RjBuildDescriber
|
|
19
32
|
title: "Example"
|
|
@@ -42,15 +55,23 @@ renderView:
|
|
|
42
55
|
renderView:
|
|
43
56
|
- type: div
|
|
44
57
|
attributes:
|
|
45
|
-
|
|
58
|
+
style:
|
|
59
|
+
width: "100%"
|
|
60
|
+
padding: "0 16px"
|
|
46
61
|
content:
|
|
47
62
|
- type: div
|
|
48
63
|
attributes:
|
|
49
|
-
|
|
64
|
+
style:
|
|
65
|
+
display: "flex"
|
|
66
|
+
marginBottom: "16px"
|
|
50
67
|
content:
|
|
51
68
|
- type: div
|
|
52
69
|
attributes:
|
|
53
|
-
|
|
70
|
+
style:
|
|
71
|
+
width: "48%"
|
|
72
|
+
display: "inline-block"
|
|
73
|
+
verticalAlign: "top"
|
|
74
|
+
marginRight: "2%"
|
|
54
75
|
content:
|
|
55
76
|
- type: div
|
|
56
77
|
attributes:
|
|
@@ -118,7 +139,11 @@ renderView:
|
|
|
118
139
|
jsonPathPattern: "$.users[?(@.role == 'admin')]"
|
|
119
140
|
- type: div
|
|
120
141
|
attributes:
|
|
121
|
-
|
|
142
|
+
style:
|
|
143
|
+
width: "48%"
|
|
144
|
+
display: "inline-block"
|
|
145
|
+
verticalAlign: "top"
|
|
146
|
+
marginRight: "2%"
|
|
122
147
|
content:
|
|
123
148
|
- type: div
|
|
124
149
|
attributes:
|
|
@@ -140,37 +165,86 @@ renderView:
|
|
|
140
165
|
attributes:
|
|
141
166
|
class: "mb-3"
|
|
142
167
|
content:
|
|
143
|
-
- type:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
168
|
+
- type: label
|
|
169
|
+
content: "Name:"
|
|
170
|
+
- type: input
|
|
171
|
+
attributes:
|
|
172
|
+
type: "text"
|
|
173
|
+
value: ~.newUser.name
|
|
174
|
+
placeholder: "Enter user name"
|
|
175
|
+
style:
|
|
176
|
+
padding: "8px"
|
|
177
|
+
border: "1px solid #ccc"
|
|
178
|
+
borderRadius: "4px"
|
|
179
|
+
width: "100%"
|
|
180
|
+
actions:
|
|
181
|
+
- what: setData
|
|
182
|
+
on: input
|
|
183
|
+
path: ~.newUser.name
|
|
184
|
+
value: "<reactive-json:event-new-value>"
|
|
147
185
|
- type: div
|
|
148
186
|
attributes:
|
|
149
187
|
class: "mb-3"
|
|
150
188
|
content:
|
|
151
|
-
- type:
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
189
|
+
- type: label
|
|
190
|
+
content: "Status:"
|
|
191
|
+
- type: select
|
|
192
|
+
attributes:
|
|
193
|
+
value: ~.newUser.status
|
|
194
|
+
style:
|
|
195
|
+
padding: "8px"
|
|
196
|
+
border: "1px solid #ccc"
|
|
197
|
+
borderRadius: "4px"
|
|
198
|
+
width: "100%"
|
|
199
|
+
content:
|
|
200
|
+
- type: option
|
|
201
|
+
attributes:
|
|
202
|
+
value: "active"
|
|
203
|
+
content: "Active"
|
|
204
|
+
- type: option
|
|
205
|
+
attributes:
|
|
206
|
+
value: "inactive"
|
|
207
|
+
content: "Inactive"
|
|
208
|
+
actions:
|
|
209
|
+
- what: setData
|
|
210
|
+
on: change
|
|
211
|
+
path: ~.newUser.status
|
|
212
|
+
value: "<reactive-json:event-new-value>"
|
|
159
213
|
- type: div
|
|
160
214
|
attributes:
|
|
161
215
|
class: "mb-3"
|
|
162
216
|
content:
|
|
163
|
-
- type:
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
217
|
+
- type: label
|
|
218
|
+
content: "Role:"
|
|
219
|
+
- type: select
|
|
220
|
+
attributes:
|
|
221
|
+
value: ~.newUser.role
|
|
222
|
+
style:
|
|
223
|
+
padding: "8px"
|
|
224
|
+
border: "1px solid #ccc"
|
|
225
|
+
borderRadius: "4px"
|
|
226
|
+
width: "100%"
|
|
227
|
+
content:
|
|
228
|
+
- type: option
|
|
229
|
+
attributes:
|
|
230
|
+
value: "user"
|
|
231
|
+
content: "User"
|
|
232
|
+
- type: option
|
|
233
|
+
attributes:
|
|
234
|
+
value: "admin"
|
|
235
|
+
content: "Admin"
|
|
236
|
+
actions:
|
|
237
|
+
- what: setData
|
|
238
|
+
on: change
|
|
239
|
+
path: ~.newUser.role
|
|
240
|
+
value: "<reactive-json:event-new-value>"
|
|
171
241
|
- type: button
|
|
172
242
|
attributes:
|
|
173
|
-
|
|
243
|
+
style:
|
|
244
|
+
padding: "8px 16px"
|
|
245
|
+
border: "1px solid #007bff"
|
|
246
|
+
borderRadius: "4px"
|
|
247
|
+
cursor: "pointer"
|
|
174
248
|
content: "Add User"
|
|
175
249
|
actions:
|
|
176
250
|
- what: addData
|
|
@@ -234,8 +308,7 @@ renderView:
|
|
|
234
308
|
attributes:
|
|
235
309
|
class: "ms-2 badge rounded-pill"
|
|
236
310
|
style:
|
|
237
|
-
|
|
238
|
-
color: "white"
|
|
311
|
+
border: "1px solid #198754"
|
|
239
312
|
content: ~.status
|
|
240
313
|
actions:
|
|
241
314
|
- what: hide
|
|
@@ -245,8 +318,7 @@ renderView:
|
|
|
245
318
|
attributes:
|
|
246
319
|
class: "ms-2 badge rounded-pill"
|
|
247
320
|
style:
|
|
248
|
-
|
|
249
|
-
color: "black"
|
|
321
|
+
border: "1px solid #ffc107"
|
|
250
322
|
content: ~.status
|
|
251
323
|
actions:
|
|
252
324
|
- what: hide
|
|
@@ -264,7 +336,12 @@ renderView:
|
|
|
264
336
|
content:
|
|
265
337
|
- type: button
|
|
266
338
|
attributes:
|
|
267
|
-
|
|
339
|
+
style:
|
|
340
|
+
padding: "4px 8px"
|
|
341
|
+
border: "1px solid #007bff"
|
|
342
|
+
borderRadius: "4px"
|
|
343
|
+
cursor: "pointer"
|
|
344
|
+
marginRight: "8px"
|
|
268
345
|
content: "Toggle Status"
|
|
269
346
|
actions:
|
|
270
347
|
- what: setData
|
|
@@ -281,7 +358,11 @@ renderView:
|
|
|
281
358
|
is: "inactive"
|
|
282
359
|
- type: button
|
|
283
360
|
attributes:
|
|
284
|
-
|
|
361
|
+
style:
|
|
362
|
+
padding: "4px 8px"
|
|
363
|
+
border: "1px solid #dc3545"
|
|
364
|
+
borderRadius: "4px"
|
|
365
|
+
cursor: "pointer"
|
|
285
366
|
content: "Remove"
|
|
286
367
|
actions:
|
|
287
368
|
- what: removeData
|
|
@@ -320,6 +401,6 @@ renderView:
|
|
|
320
401
|
- `$..products` - Count all products at any level (recursive)
|
|
321
402
|
|
|
322
403
|
## Limitations
|
|
323
|
-
- Only supports JSONPath patterns
|
|
324
|
-
- Returns 0 if no match or if the pattern is invalid
|
|
325
|
-
- Does not support advanced filtering or custom functions in JSONPath
|
|
404
|
+
- Only supports JSONPath patterns.
|
|
405
|
+
- Returns 0 if no match or if the pattern is invalid.
|
|
406
|
+
- Does not support advanced filtering or custom functions in JSONPath.
|
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
# DataFilter
|
|
2
2
|
|
|
3
|
-
## Introduction
|
|
4
|
-
|
|
5
3
|
The `DataFilter` component allows you to filter data from the global or template context before rendering its content. It is particularly useful for conditional display of elements based on dynamic complex criteria, such as filtering lists, trees, or data subsets.
|
|
6
4
|
|
|
7
5
|
## Properties
|
|
8
|
-
- `filters` (array, required): Array of filter objects, each specifying properties and conditions to check
|
|
9
|
-
- `subjectsWithProperty` (string): Property to check in the data, acts as namespace
|
|
10
|
-
- `andConditions` (array): List of conditions that must all be true
|
|
11
|
-
- `orConditions` (array): List of conditions where at least one must be true
|
|
6
|
+
- `filters` (array, required): Array of filter objects, each specifying properties and conditions to check:
|
|
7
|
+
- `subjectsWithProperty` (string): Property to check in the data, acts as namespace.
|
|
8
|
+
- `andConditions` (array): List of conditions that must all be true.
|
|
9
|
+
- `orConditions` (array): List of conditions where at least one must be true.
|
|
12
10
|
- Available conditions:
|
|
13
|
-
- `when`: Checks a condition on a value
|
|
14
|
-
- `is`: Compares exact equality
|
|
15
|
-
- `isNot`: Checks inequality
|
|
16
|
-
- `isEmpty`: Checks if a value is empty
|
|
17
|
-
- `
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
- `
|
|
21
|
-
- `
|
|
22
|
-
- `
|
|
11
|
+
- `when`: Checks a condition on a value.
|
|
12
|
+
- `is`: Compares exact equality.
|
|
13
|
+
- `isNot`: Checks inequality.
|
|
14
|
+
- `isEmpty`: Checks if a value is empty.
|
|
15
|
+
- `isNotEmpty`: Checks if a value is not empty.
|
|
16
|
+
- `contains`: Checks if a value contains a substring.
|
|
17
|
+
- `>=`, `<=`, `>`, `<`: Numeric comparisons.
|
|
18
|
+
- `compareAsDates`: Boolean to compare values as dates.
|
|
19
|
+
- `whenFilterableData`: Specifies the data path to filter, must include the namespace.
|
|
20
|
+
- `context` (string, optional): Context to filter (`global` or `template`). Default: `global`.
|
|
21
|
+
- `content` (object/array, required): Content to render after filtering.
|
|
23
22
|
|
|
24
23
|
## Behavior
|
|
25
|
-
- Applies all filters to the selected context before content rendering
|
|
26
|
-
- Supports complex filtering conditions with `andConditions` and `orConditions
|
|
27
|
-
- Allows recursive filtering while preserving data structure
|
|
28
|
-
- Can be combined with other components to create interactive filtering interfaces
|
|
29
|
-
- Supports dynamic filtering based on application state
|
|
24
|
+
- Applies all filters to the selected context before content rendering.
|
|
25
|
+
- Supports complex filtering conditions with `andConditions` and `orConditions`.
|
|
26
|
+
- Allows recursive filtering while preserving data structure.
|
|
27
|
+
- Can be combined with other components to create interactive filtering interfaces.
|
|
28
|
+
- Supports dynamic filtering based on application state.
|
|
30
29
|
|
|
31
30
|
## Filterable Data Structure
|
|
32
31
|
|
|
@@ -59,10 +58,10 @@ filters:
|
|
|
59
58
|
```
|
|
60
59
|
|
|
61
60
|
The identification key (here "item"):
|
|
62
|
-
- Can have any name (`itemXyz`, `element`, etc.)
|
|
63
|
-
- Must be consistent between data structure and conditions
|
|
64
|
-
- Serves as a namespace for accessing properties in `whenFilterableData
|
|
65
|
-
- Is required for DataFilter to correctly identify filterable elements
|
|
61
|
+
- Can have any name (`itemXyz`, `element`, etc.).
|
|
62
|
+
- Must be consistent between data structure and conditions.
|
|
63
|
+
- Serves as a namespace for accessing properties in `whenFilterableData`.
|
|
64
|
+
- Is required for DataFilter to correctly identify filterable elements.
|
|
66
65
|
|
|
67
66
|
## Example
|
|
68
67
|
|
|
@@ -127,23 +126,23 @@ data:
|
|
|
127
126
|
```
|
|
128
127
|
|
|
129
128
|
## Advanced Use Cases
|
|
130
|
-
- Multi-criteria filtering with combined conditions
|
|
131
|
-
- Real-time search interface
|
|
132
|
-
- Hierarchical data filtering (trees, sub-elements)
|
|
133
|
-
- Complex state management (conflicts, modifications, new elements)
|
|
134
|
-
- Integration with pagination components
|
|
135
|
-
- Date-based filtering and numeric comparisons
|
|
129
|
+
- Multi-criteria filtering with combined conditions.
|
|
130
|
+
- Real-time search interface.
|
|
131
|
+
- Hierarchical data filtering (trees, sub-elements).
|
|
132
|
+
- Complex state management (conflicts, modifications, new elements).
|
|
133
|
+
- Integration with pagination components.
|
|
134
|
+
- Date-based filtering and numeric comparisons.
|
|
136
135
|
|
|
137
136
|
## Best Practices
|
|
138
|
-
- Organize filters by logical category
|
|
139
|
-
- Use comments to document complex conditions
|
|
140
|
-
- Combine with UI components for interactive experience
|
|
141
|
-
- Consider performance with large datasets
|
|
142
|
-
- Use reusable templates for common filters
|
|
143
|
-
- Use consistent namespace patterns across your application
|
|
137
|
+
- Organize filters by logical category.
|
|
138
|
+
- Use comments to document complex conditions.
|
|
139
|
+
- Combine with UI components for interactive experience.
|
|
140
|
+
- Consider performance with large datasets.
|
|
141
|
+
- Use reusable templates for common filters.
|
|
142
|
+
- Use consistent namespace patterns across your application.
|
|
144
143
|
|
|
145
144
|
## Limitations
|
|
146
|
-
- Filtering is based on simple comparisons
|
|
147
|
-
- Performance may be impacted with very large datasets
|
|
148
|
-
- Does not support custom filtering functions
|
|
149
|
-
- Filtering is applied recursively on the entire structure
|
|
145
|
+
- Filtering is based on simple comparisons.
|
|
146
|
+
- Performance may be impacted with very large datasets.
|
|
147
|
+
- Does not support custom filtering functions.
|
|
148
|
+
- Filtering is applied recursively on the entire structure.
|