diff --git a/docs/config/handbook.ts b/docs/config/handbook.ts index bed606cbdc..b770e43c66 100644 --- a/docs/config/handbook.ts +++ b/docs/config/handbook.ts @@ -956,11 +956,18 @@ export default [ link: '/handbook/block-template', }, { - title: 'Linkage rules', - 'title.fr-FR': 'Règles de liaison', - 'title.zh-CN': '联动规则', - 'title.ja-JP': '連動ルール', - link: '/handbook/ui/blocks/block-settings/linkage-rule', + title: 'Field linkage rules', + 'title.fr-FR': 'Règle de dépendance des champs', + 'title.zh-CN': '字段联动规则', + 'title.ja-JP': 'フィールド連動ルール', + link: '/handbook/ui/blocks/block-settings/field-linkage-rule', + }, + { + title: 'Block linkage rules', + 'title.fr-FR': 'Règle de dépendance des blocs', + 'title.zh-CN': '区块联动规则', + 'title.ja-JP': 'ブロック連動ルール', + link: '/handbook/ui/blocks/block-settings/block-linkage-rule', }, { title: 'Edit block title', @@ -1521,6 +1528,13 @@ export default [ 'title.ja-JP': '変数', link: '/handbook/ui/variables', }, + { + title: 'Linkage rules', + 'title.fr-FR': 'Règle de dépendance', + 'title.zh-CN': '联动规则', + 'title.ja-JP': '連動ルール(れんどうルール)', + link: '/handbook/ui/linkage-rule', + }, { title: 'Template engines', 'title.fr-FR': 'Moteur de template', diff --git a/docs/en-US/handbook/block-multi-step-from/index.md b/docs/en-US/handbook/block-multi-step-from/index.md index c92147f0ce..6866453b5c 100644 --- a/docs/en-US/handbook/block-multi-step-from/index.md +++ b/docs/en-US/handbook/block-multi-step-from/index.md @@ -22,7 +22,7 @@ Control the behavior of form fields through linkage rules. ![](https://static-docs.nocobase.com/202410101717884.png) -More content reference [Linkage rules](/handbook/ui/blocks/block-settings/linkage-rule) +More content reference [Linkage rules](/handbook/ui/blocks/block-settings/field-linkage-rule) ### Block Height Setting diff --git a/docs/en-US/handbook/block-tree/index.md b/docs/en-US/handbook/block-tree/index.md index 0f3fbcc7ba..36f5a86c63 100644 --- a/docs/en-US/handbook/block-tree/index.md +++ b/docs/en-US/handbook/block-tree/index.md @@ -27,7 +27,6 @@ Example: The form filter block connects to the detail data block to achieve link For more information, refer to [Connecting Data Block](/handbook/ui/blocks/block-settings/connect-block) - [Editing Block Title](/handbook/ui/blocks/block-settings/block-title) -- [Linkage Rule](/handbook/ui/blocks/block-settings/linkage-rule) - [Save as Block Template](/handbook/block-template) ## Configuring Fields diff --git a/docs/en-US/handbook/ui/actions/action-settings/affter-successful.md b/docs/en-US/handbook/ui/actions/action-settings/affter-successful.md index b53b3b7488..411442793e 100644 --- a/docs/en-US/handbook/ui/actions/action-settings/affter-successful.md +++ b/docs/en-US/handbook/ui/actions/action-settings/affter-successful.md @@ -11,3 +11,13 @@ The After successful submission enables customization of the response behavior u - Stay on the current popup or page: After the operation is successful, the pop-up window or route is not closed - Return to the previous popup or page(default): Close the popup window after the operation is successful - Redirect to: After the operation succeeds, the route is switched to the specified route + +### Redirect to a Specific Route + +The `Submit` button in the form supports dynamically passing variables from the response data after a successful submission, to be used in a route redirection. + +![20250405162542](https://static-docs.nocobase.com/20250405162542.png) + +You can pass the response record data as variables into the path. +For example: After successfully creating a record, you can redirect to the details page of that record. +![20250405162732](https://static-docs.nocobase.com/20250405162732.png) diff --git a/docs/en-US/handbook/ui/actions/action-settings/edit-button.md b/docs/en-US/handbook/ui/actions/action-settings/edit-button.md index 154d962277..a2de81f7fd 100644 --- a/docs/en-US/handbook/ui/actions/action-settings/edit-button.md +++ b/docs/en-US/handbook/ui/actions/action-settings/edit-button.md @@ -2,8 +2,8 @@ ## Introduction -You can personalize the button’s name, icon, and background color. There are three color choices: default, highlighted, or Danger red. +You can customize the button's name, icon, and background color. You can choose from three color options: default, highlight, or red. When an icon is set, the button can display only the icon. -![20240413093715](https://static-docs.nocobase.com/20240413093715.png) +![20250405140611](https://static-docs.nocobase.com/20250405140611.png) -![20240413093745](https://static-docs.nocobase.com/20240413093745.png) +![20250405140640](https://static-docs.nocobase.com/20250405140640.png) diff --git a/docs/en-US/handbook/ui/actions/action-settings/linkage-rule.md b/docs/en-US/handbook/ui/actions/action-settings/linkage-rule.md index 1c30ecf217..82b8f86c46 100644 --- a/docs/en-US/handbook/ui/actions/action-settings/linkage-rule.md +++ b/docs/en-US/handbook/ui/actions/action-settings/linkage-rule.md @@ -1,36 +1,52 @@ -# Linkage Rule +# Operation Linkage Rules ## Introduction -The linkage rules for actions are configured based on contextual data conditions and execution results. By configuring these linkage rules, you can control the status of actions (Visible, Hidden, Enabled, Disabled). +Operation linkage rules allow users to dynamically control the status of actions (such as Visible, Enabled, Hidden, Disabled) based on specific conditions. By configuring these rules, users can link the behavior of action buttons with the current record, user role, or contextual data. Starting from version `v1.7.0-beta.19`, global buttons support configuring linkage rules. + +> **Note**: Operation linkage rules do not currently support direct linkage with form values. Therefore, it is not possible to perform conditional checks based on fields in the current form (i.e., current form variables are not supported). Currently, operation linkage rules support controlling the visibility, enablement, and disablement of actions based on other contextual data or system variables. ![20240423113057](https://static-docs.nocobase.com/20240423113057.png) ## Usage Instructions -![20240413102150](https://static-docs.nocobase.com/20240413102150.png) +![20250418152329](https://static-docs.nocobase.com/20250418152329.png) + +When conditions are met (by default, they pass without conditions), the action will be triggered. Constants and variables can be used in the condition evaluation. + +## Constants + +Example: Only orders that are pending can be edited. + +![20250418150033](https://static-docs.nocobase.com/20250418150033.png) + +## Variables + +### System Variables -When conditions are met (by default, they pass without conditions), the action is triggered. Constants and variables can be used in the condition evaluation. +Example 1: Disable the delete button for orders with a delivery date later than today. -### Applicable Buttons for Linkage Rules +![20250418145825](https://static-docs.nocobase.com/20250418145825.png) -Currently, only buttons with data context support configuring linkage rules. +Example 2: The bulk delete button on the order block table header is only available to the administrator role; other roles cannot perform this operation. -Row buttons in blocks such as tables and Gantt charts; +![20250418150637](https://static-docs.nocobase.com/20250418150637.png) -Buttons in detail blocks; +![20250418150826](https://static-docs.nocobase.com/20250418150826.png) +### Context Variables -### Constants +Example: The "Add" button in the order details (relationship block) is enabled only when the order status is "Pending Payment." In other statuses, the button will be disabled. -Example: Hide the copy button for orders that have been canceled. +![20250418145312](https://static-docs.nocobase.com/20250418145312.png) -![20240423113212](https://static-docs.nocobase.com/20240423113212.png) +![20250418150429](https://static-docs.nocobase.com/20250418150429.png) -### Variables +For more information on variable content, refer to [Variables](/handbook/ui/variables). -Example: Disable the delete button for orders with a delivery date later than today. +## RoadMap -![20240423113504](https://static-docs.nocobase.com/20240423113504.png) +- Planned or In Progress + - Operation linkage rules support for the current form -For further details on using variables, see the [Variables](/handbook/ui/variables) section. +For more information on linkage rules, refer to [Linkage Rules](/handbook/ui/linkage-rule) diff --git a/docs/en-US/handbook/ui/blocks/block-settings/block-linkage-rule.md b/docs/en-US/handbook/ui/blocks/block-settings/block-linkage-rule.md new file mode 100644 index 0000000000..391dfc757f --- /dev/null +++ b/docs/en-US/handbook/ui/blocks/block-settings/block-linkage-rule.md @@ -0,0 +1,14 @@ +# Block Linkage Rules + +> **Note**: This feature is supported starting from version `v1.7.0-beta.xx`. + +Block linkage rules allow users to dynamically control the visibility of blocks. For example, when a specific condition is met, a block can be hidden, enabling scenarios like **xxx**. + +### Control Blocks with Global Variables +For example, "Current Role". + +### Control Blocks with Contextual Variables +When a block can access the relevant records within the context, it can also control the block's visibility through contextual variables. +For example, "Current Record", "Current Form", "Current Popup Record", etc. + +For more information on linkage rules, refer to [Linkage Rules](/handbook/ui/linkage-rule). diff --git a/docs/en-US/handbook/ui/blocks/block-settings/field-linkage-rule.md b/docs/en-US/handbook/ui/blocks/block-settings/field-linkage-rule.md new file mode 100644 index 0000000000..c8f843d666 --- /dev/null +++ b/docs/en-US/handbook/ui/blocks/block-settings/field-linkage-rule.md @@ -0,0 +1,78 @@ +# Field Linkage Rules + +## Introduction + +Field linkage rules allow users to dynamically adjust the status of form/detail block fields based on user actions. Currently, the following blocks support field linkage rules: + +- [Form Block](/handbook/ui/blocks/data-blocks/form#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [Detail Block](/handbook/ui/blocks/data-blocks/details#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [Sub-form](/handbook/ui/fields/specific/nester) (requires v1.3.17-beta or higher) +- [Sub-table](/handbook/ui/fields/specific/sub-table) (requires v1.3.17-beta or higher) + +## Usage Instructions + +#### **Linkage Rules in Form Block** + +In form blocks, linkage rules can dynamically adjust field behavior based on specific conditions: + +- **Control Field Visibility/Hidden**: Determine whether the current field is displayed based on the value of other fields. +- **Set Field as Required**: Dynamically set a field as required or optional based on specific conditions. +- **Assign Values**: Automatically assign values to fields based on conditions. +- **Configure Field Options**: Dynamically update the available options in dropdowns based on other fields in the form. +- **Limit Time Range for Time Fields**: In time fields, limit the selectable time range based on the values of other fields. + +#### **Linkage Rules in Detail Block** + +In detail blocks, linkage rules are mainly used to dynamically control the visibility and hiding of fields in the detail block. + +![20250418161037](https://static-docs.nocobase.com/20250418161037.png) + +### Assigning Values + +Example: When an order is checked as a supplementary order, the order status is automatically set to "Pending Review." + +![20250418161712](https://static-docs.nocobase.com/20250418161712.png) + +### Required Fields + +Example: When the order status is "Pending Payment", the order amount is required. + +![20250418163252](https://static-docs.nocobase.com/20250418163252.png) + +### Visibility/Hidden + +Example: The payment method is displayed only when the order status is "Pending Payment." + +![20250418163733](https://static-docs.nocobase.com/20250418163733.png) + +### Options + +> **Note**: This feature is supported starting from version `v1.7.0-beta.2`. + +It supports dynamically configuring options for fields like `select`, `radioGroup`, `multipleSelect`, `checkboxGroup`, etc. The available options can be linked to the changes in other fields in the form. + +Example: "Installment Payment" is available only when the order amount is greater than 10,000. + +![20250418164806](https://static-docs.nocobase.com/20250418164806.png) + +Linkage effect as shown below: + + + +### Date Scope + +> **Note**: This feature is supported starting from version `v1.7.0-beta.2`. + +It supports dynamically configuring date ranges for fields such as `date`, `datetime`, `dateOnly`, `datetimeNoTz`, `unixTimestamp`, `createdAt`, `updatedAt`, etc. The selectable date range can automatically adjust based on changes in other fields in the form. + +Example: After selecting the order date, the delivery date cannot be earlier than the order date. + +![20250418165500](https://static-docs.nocobase.com/20250418165500.png) + +Example: The delivery date cannot be earlier than today and cannot be later than the order deadline. + +![20250418170520](https://static-docs.nocobase.com/20250418170520.png) + +For more information on linkage rules, refer to [Linkage Rules](/handbook/ui/linkage-rule). diff --git a/docs/en-US/handbook/ui/blocks/block-settings/linkage-rule.md b/docs/en-US/handbook/ui/blocks/block-settings/linkage-rule.md deleted file mode 100644 index 535cb47fd0..0000000000 --- a/docs/en-US/handbook/ui/blocks/block-settings/linkage-rule.md +++ /dev/null @@ -1,104 +0,0 @@ -# Linkage Rules - -## Introduction - -Linkage rules allow dynamic adjustment of form field states based on user behavior, such as Visible/Hidden, Required/Not Required, and value assignment. Currently, the following components support configuring linkage rules: [Form Blocks](https://docs.nocobase.com/handbook/ui/blocks/data-blocks/form#linkage-rules), [Details Blocks](https://docs.nocobase.com/handbook/ui/blocks/data-blocks/details#linkage-rules), [Action Buttons](https://docs.nocobase.com/handbook/ui/actions/action-settings/linkage-rule), [Sub Forms](https://docs.nocobase.com/handbook/ui/fields/specific/nester) (requires v1.3.17-beta or above), and [Sub Tables](https://docs.nocobase.com/handbook/ui/fields/specific/sub-table) (requires v1.3.17-beta or above). - -![20240408100711](https://static-docs.nocobase.com/20240408100711.png) - -![20240408100757](https://static-docs.nocobase.com/20240408100757.png) - -## Usage Instructions - -1. Field Configuration: Ensure all form fields utilized in the rules are properly configured to guarantee rule effectiveness and accuracy. - -2. Conditional Activation: When rule conditions are satisfied (optional), the system automatically executes the specified property modifications. - -3. Multi-Rule Support: Forms can accommodate multiple linkage rules. When several rule conditions are simultaneously met, the system executes the results sequentially, following the order of rule definition. - -4. Rule Management: Enjoy comprehensive control with features for custom naming, sorting, deleting, enabling, disabling, and duplicating rules. - -5. Constant and Variable Integration: Leverage constants or variables in field assignments and condition configurations. For detailed information on variables, consult the [Variables](/handbook/ui/variables) section. - -### Value Assignment - -Illustration: Automatically evaluate and designate customer levels (e.g., A+, A, A-) based on projected annual purchase amounts. - -- Estimated annual purchase exceeding 20,000: Customer classified as A+. - -![20240408102241](https://static-docs.nocobase.com/20240408102241.png) - -- Estimated annual purchase between 10,000 and 20,000 (inclusive): Customer classified as A. - -![20240408102303](https://static-docs.nocobase.com/20240408102303.png) - -- Estimated annual purchase below 10,000: Customer classified as A-. - -![20240408102324](https://static-docs.nocobase.com/20240408102324.png) - -### Field Requirement - -Illustration: Dynamically adjust the requirement status of the product's promotional price based on its promotion status. - -- When "IsPromotion" is active, promotional price becomes mandatory. - -![20240408105031](https://static-docs.nocobase.com/20240408105031.png) - -- When "IsPromotion" is inactive, promotional price becomes optional. - -![20240408105115](https://static-docs.nocobase.com/20240408105115.png) - -### Visibility Control - -Illustration: Manage the visibility of the promotional price input field based on the product's promotion status. - -- When "IsPromotion" is true, the promotional price field is displayed and required. - -![20240408115240](https://static-docs.nocobase.com/20240408115240.png) - -- When "IsPromotion" is false, the promotional price field is hidden and not required. - -![20240408115338](https://static-docs.nocobase.com/20240408115338.png) - -### **Options** - -> **Note**: This feature is supported starting from **v1.7.0-beta.2** - -It is allow to dynamically configure options for field types such as `select`, `radioGroup`, `multipleSelect`, and `checkboxGroup`. The available options can be automatically change based on other form fields. - -#### **Example: Controlling Subcategories Based on Product Category in a Product Management System** - -- **Category (Select)**: When selecting **Electronics**, the available subcategories are **Mobile Phones, Laptops, and Headphones**. - -![20250313215730](https://static-docs.nocobase.com/20250313215730.png) - -- When selecting **Home Appliances**, the available subcategories update to **Air Conditioners, Refrigerators, and Washing Machines**. - -![20250313215834](https://static-docs.nocobase.com/20250313215834.png) - -#### **Linkage Preview** - - - ---- - -### **Date Scope** - -> **Note**: This feature is supported starting from **v1.7.0-beta.2** - -It is allow to dynamically configure date scope for field types such as `date`, `datetime`, `dateOnly`, `datetimeNoTz`, `unixTimestamp`, `createdAt`, and `updatedAt`. The selectable date scope can automatically adjust based on changes in other form fields. - -#### **Example: Setting the End Date After the Start Date** - -When a **start date** is selected, the **end date** can only be a later date and cannot be earlier than the start date. - -![20250313220839](https://static-docs.nocobase.com/20250313220839.png) - -#### **Example: Delivery date Cannot Be Earlier Than Today and No Later Than the Order deadline** - -- **Delivery date (Delivery date)** cannot be earlier than **today**. -- **Delivery date** cannot be later than the **Order deadline**. - -![20250313222051](https://static-docs.nocobase.com/20250313222051.png) diff --git a/docs/en-US/handbook/ui/blocks/data-blocks/details.md b/docs/en-US/handbook/ui/blocks/data-blocks/details.md index 285017906e..6ab08dc924 100644 --- a/docs/en-US/handbook/ui/blocks/data-blocks/details.md +++ b/docs/en-US/handbook/ui/blocks/data-blocks/details.md @@ -1,55 +1,56 @@ -# Details Block +# Detail Block ## Introduction -The details block is used to display the values of each field for each data item in detail. It supports flexible field layout and has built-in various actions. +The detail block is used to display the value of each field for each data record in detail. It supports flexible field layouts and comes with various data operation features. -## Adding Blocks +## Adding a Block -## Block Settings +## Block Configuration Options -![20240417122949](https://static-docs.nocobase.com/20240417122949.png) +![20240511114328](https://static-docs.nocobase.com/20240511114328.png) ### Set Data Scope -Example: Default filtering of delivered orders +Example: Display only orders that have been shipped. ![20240417122910](https://static-docs.nocobase.com/20240417122910.png) -For more details, please refer to [Setting Data Scope](/handbook/ui/blocks/block-settings/data-scope) +For more details, refer to [Set Data Scope](/handbook/ui/blocks/block-settings/data-scope). -### Set Default Sorting Rule +### Set Sorting Rules ![20240417123300](https://static-docs.nocobase.com/20240417123300.png) -For more details, please refer to [Sorting Rules](/handbook/ui/blocks/block-settings/sorting-rule) +For more details, refer to [Sorting Rules](/handbook/ui/blocks/block-settings/sorting-rule). -- [Set Data Loading Method](/handbook/ui/blocks/block-settings/loading-mode) +- [Set Data Loading Mode](/handbook/ui/blocks/block-settings/loading-mode) - [Save as Block Template](/handbook/block-template) -## Configure Fields +### Linkage Rules + +Linkage rules in detail blocks support dynamically setting field visibility. + +Example: Hide the delivery date if the receiving date is earlier than the delivery date. -### The Current Collecton Fields +![20240511115156](https://static-docs.nocobase.com/20240511115156.png) -![20240417213735](https://static-docs.nocobase.com/20240417213735.png) +For more details, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule). -### The Association Fields +### Set Block Height -![20240417214006](https://static-docs.nocobase.com/20240417214006.png) +Example: Set the order detail block to "full-height" mode. -For more details on detail field configuration, please refer to [Detail Fields](/handbook/ui/fields/generic/detail-form-item) +![20240604232307](https://static-docs.nocobase.com/20240604232307.gif) -## Configure Actions +For more details, refer to [Block Height](/handbook/ui/blocks/block-settings/block-height). + +## Configure Fields -![20240417214433](https://static-docs.nocobase.com/20240417214433.png) +### Current Table Fields -- [Edit](/handbook/ui/actions/types/edit) -- [Delete](/handbook/ui/actions/types/delete) -- [Pop-up](/handbook/ui/actions/types/pop-up) -- [Update Record](/handbook/ui/actions/types/update-record) -- [Custom Request](/handbook/action-custom-request) -- [Trigger workflow](/handbook/workflow/manual/triggers/cutom-action-trigger) +![202404172 diff --git a/docs/en-US/handbook/ui/blocks/data-blocks/form.md b/docs/en-US/handbook/ui/blocks/data-blocks/form.md index cc4a824b9a..f744fbe0d8 100644 --- a/docs/en-US/handbook/ui/blocks/data-blocks/form.md +++ b/docs/en-US/handbook/ui/blocks/data-blocks/form.md @@ -20,7 +20,7 @@ Control form field behavior through linkage rules. ![20240416220254](https://static-docs.nocobase.com/20240416220254.png) -For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/linkage-rule). +For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule). ### Form Data Templates (Supports Form for Adding New Data Only) diff --git a/docs/en-US/handbook/ui/blocks/filter-blocks/form.md b/docs/en-US/handbook/ui/blocks/filter-blocks/form.md index dffa016c2b..bd4cb860b8 100644 --- a/docs/en-US/handbook/ui/blocks/filter-blocks/form.md +++ b/docs/en-US/handbook/ui/blocks/filter-blocks/form.md @@ -25,7 +25,7 @@ Example: The Form filter block connects to the details data block to implement l For more content, refer to [Connect to Data Block](/handbook/ui/blocks/block-settings/connect-block) - [Edit Block Title](/handbook/ui/blocks/block-settings/block-title) -- [Linkage Rules](/handbook/ui/blocks/block-settings/linkage-rule) +- [Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule) - [Save as Block Template](/handbook/block-template) ## Field Configuration diff --git a/docs/en-US/handbook/ui/fields/field-settings/style.md b/docs/en-US/handbook/ui/fields/field-settings/style.md index e0855c3b37..72dde75a6d 100644 --- a/docs/en-US/handbook/ui/fields/field-settings/style.md +++ b/docs/en-US/handbook/ui/fields/field-settings/style.md @@ -1,22 +1,29 @@ -# Style Configuration +# Set Styles ## Introduction +The field style linkage rules are an important tool to enhance user interaction. By dynamically configuring styles, it improves the visual effect of blocks and helps users quickly identify key information. The main style properties include: -Users can adjust the style of fields in the style menu (currently supporting color and background color settings). Additionally, styles can be dynamically adjusted based on field values or system variables. +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` -## How to Use +These are commonly used to highlight key information based on field status, indicate anomalies, or guide visually. -Suppose we have a bank transaction detail table with a column for transaction amounts. We want to set positive amounts (income) to green and negative amounts (expenses) to red. Here are the specific steps: +## Usage -1. First, open the settings menu for the transaction amount field and click on the style option. -![Screenshot_2024-08-08_14-56-12-2024-08-08-22-57-37](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-56-12-2024-08-08-22-57-37.png) +Example: Dynamically adjust the color of the order amount field based on the order amount. When the order amount exceeds 1000, set the color to green; when the order amount is less than or equal to 1000, set the color to red. -2. Click "Add Dynamic Rule" and set the first rule: when the transaction amount is greater than 0, set the field color to green. -![Screenshot_2024-08-08_14-58-17-2024-08-08-22-58-36](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-58-17-2024-08-08-22-58-36.png) +![20250418171434](https://static-docs.nocobase.com/20250418171434.png) -3. Click "Add Dynamic Rule" again to set the second rule: when the transaction amount is less than 0, set the field color to red. +- **Rule 1**: Set the condition to **order amount greater than 10000**, and the field color will be green. -![Screenshot_2024-08-08_14-59-03-2024-08-08-22-59-14](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-59-03-2024-08-08-22-59-14.png) +![20250418171640](https://static-docs.nocobase.com/20250418171640.png) -The final result will look like this: -![Screenshot_2024-08-08_14-59-20-2024-08-08-22-59-28](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-59-20-2024-08-08-22-59-28.png) +- **Rule 2**: Set the condition to **order amount less than or equal to 1000**, and the field color will be red. + +![20250418171900](https://static-docs.nocobase.com/20250418171900.png) + +For more details, refer to [Linkage Rules](/handbook/ui/linkage-rule). diff --git a/docs/en-US/handbook/ui/fields/specific/nester.md b/docs/en-US/handbook/ui/fields/specific/nester.md index b64743119a..cf835b38af 100644 --- a/docs/en-US/handbook/ui/fields/specific/nester.md +++ b/docs/en-US/handbook/ui/fields/specific/nester.md @@ -37,4 +37,4 @@ The version of NocoBase needs to be v1.3.17-beta or above. ![20240906083737_rec_](https://static-docs.nocobase.com/20240906083737_rec_.gif) -For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/linkage-rule) +For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule) diff --git a/docs/en-US/handbook/ui/fields/specific/popover-nester.md b/docs/en-US/handbook/ui/fields/specific/popover-nester.md index ac417eeedc..ff372a8610 100644 --- a/docs/en-US/handbook/ui/fields/specific/popover-nester.md +++ b/docs/en-US/handbook/ui/fields/specific/popover-nester.md @@ -43,4 +43,4 @@ The version of NocoBase needs to be v1.3.17-beta or above. ![20240906085955_rec_](https://static-docs.nocobase.com/20240906085955_rec_.gif) -For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/linkage-rule) +For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule) diff --git a/docs/en-US/handbook/ui/fields/specific/sub-detail.md b/docs/en-US/handbook/ui/fields/specific/sub-detail.md index 9b0300c9e3..4c05fd18fc 100644 --- a/docs/en-US/handbook/ui/fields/specific/sub-detail.md +++ b/docs/en-US/handbook/ui/fields/specific/sub-detail.md @@ -39,4 +39,4 @@ The version of NocoBase needs to be v1.3.17-beta or above. ![20240906090603_rec_](https://static-docs.nocobase.com/20240906090603_rec_.gif) -For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/linkage-rule) +For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule) diff --git a/docs/en-US/handbook/ui/fields/specific/sub-table.md b/docs/en-US/handbook/ui/fields/specific/sub-table.md index 94940d6972..5cb00779ad 100644 --- a/docs/en-US/handbook/ui/fields/specific/sub-table.md +++ b/docs/en-US/handbook/ui/fields/specific/sub-table.md @@ -47,7 +47,7 @@ The version of NocoBase needs to be v1.3.17-beta or above. ![20240906084911_rec_](https://static-docs.nocobase.com/20240906084911_rec_.gif) -For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/linkage-rule) +For more information, refer to [Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule) ### Allow disassociation diff --git a/docs/en-US/handbook/ui/linkage-rule.md b/docs/en-US/handbook/ui/linkage-rule.md new file mode 100644 index 0000000000..cc8eed2904 --- /dev/null +++ b/docs/en-US/handbook/ui/linkage-rule.md @@ -0,0 +1,129 @@ +# Linkage Rules + +## Introduction + +In NocoBase, linkage rules are a mechanism for controlling the interactive behavior of front-end interface elements. It allows users to adjust the display and behavior logic of blocks, fields, and operations based on different conditions, enabling flexible, low-code interactive experiences. This feature is continuously being iterated and optimized. + +By configuring linkage rules, you can achieve the following: + +- Hide/show certain blocks based on the current user role, e.g., the admin can view full information blocks, while regular users can only see basic information blocks. +- Automatically fill or reset other field values when a form selects a particular option. +- Disable certain input fields when a form selects a particular option. +- Dynamically set field background colors, font sizes, font weights, etc., and highlight fields when a condition is met. +- Control whether operation buttons are visible or clickable based on certain conditions. + +## Condition Configuration + +![20250417214217](https://static-docs.nocobase.com/20250417214217.png) + +### Left-side Variables + +The left-side variables in a condition are used to define the "object being judged" in the linkage rule, i.e., the condition will evaluate this variable’s value to determine whether the linkage behavior should be triggered. + +Available variables include: + +- Context fields, such as `「Current Form/xxx」`, `「Current Record/xxx」`, `「Current Popup Record/xxx」`, etc.; +- System-wide variables, such as `Current User`, `Current Role`, etc., suitable for dynamically controlling based on user identity, permissions, etc. + +> ✅ The available left-side variables are determined by the context of the block, so choose variables according to business needs: +> +> - `Current User` represents the information of the currently logged-in user; +> - `Current Form` represents the real-time input values in the form; +> - `Current Record` represents saved record values, such as rows in a table. + +### Operators + +Operators are used to set the logical comparison between the left-side variable and the right-side value. Different types of left-side variables support different operators. Common operators include: + +- **Text type**: `$includes`, `$eq`, `$ne`, `$empty`, `$notEmpty`, etc. +- **Numeric type**: `$eq`, `$gt`, `$lt`, `$gte`, `$lte`, etc. +- **Boolean type**: `$isTruly`, `$isFalsy` +- **Array type**: `$match`, `$anyOf`, `$empty`, `$notEmpty`, etc. + +> ✅ The system will automatically recommend the available operators based on the type of the left-side variable to ensure logical configuration. + +### Right-side Value + +The right-side value is used for comparison with the left-side variable, serving as the reference value for determining whether the condition is met. + +Supported content includes: + +- Constant values: fixed numeric values, text, dates, etc.; +- Context variables: other fields from the current form, current records, etc.; +- System variables: such as the current user, current time, current role, etc. + +> ✅ The system will adapt the input method for the right-side value based on the type of the left-side variable, such as: +> +> - If the left-side variable is a “selection field”, a corresponding options selector will be displayed; +> - If the left-side variable is a “date field”, a date picker will be shown; +> - If the left-side variable is a “text field”, a text input box will appear. + +> 💡 By flexibly using the right-side values (especially dynamic variables), you can build linkage logic based on the current user, current data state, and context environment, enabling a richer interactive experience. + +## Rule Execution Logic + +### Condition Trigger + +When the condition in a rule is met (optional), the property modification operations below are automatically executed. If no condition is set, the rule is considered always met, and the property modification will be executed by default. + +### Multiple Rules + +You can configure multiple linkage rules for a form. When multiple rules are satisfied, the system will execute them in the order they are configured, from first to last. The final result will be based on the last rule executed. +Example: Rule 1 disables a field, Rule 2 makes the field editable. If both rules are met, the field will become "editable". + +> The execution order of multiple rules is crucial. Make sure to clarify their priorities and interrelationships to avoid rule conflicts. + +## Rule Management + +Each rule can be managed with the following options: + +- Custom Naming: Set an easy-to-understand name for the rule for better management and recognition. +- Sorting: Adjust the order of rules based on execution priority to ensure that the system processes them correctly. +- Deletion: Remove rules that are no longer needed. +- Enable/Disable: Temporarily disable a rule without deleting it. This is useful for situations where a rule needs to be paused temporarily. +- Copy Rule: Create new rules by copying existing ones, avoiding redundant configuration. + +## About Variables + +In field assignment and condition configuration, both constants and variables are supported. The variable list varies depending on the block's location, and choosing and using variables wisely can help meet business requirements more flexibly. For more information about variables, refer to [Variables](/handbook/ui/variables). + +## Block Linkage Rules (Feature Pending Release) + +> **Note**: This feature **is supported starting from v1.7.0-beta.xx versions** + +Block linkage rules allow dynamically controlling the display of blocks based on system variables (such as current user, current role) or contextual variables (such as current popup record). For example, an admin can view the full order information, while a regular user can only see specific order details. By configuring two order blocks and setting block linkage rules, this effect can be achieved. + +👉 For more details, check: [Block/Block Linkage Rules](/handbook/ui/blocks/block-settings/block-linkage-rule) + +## Field Linkage Rules + +Field linkage rules are used to dynamically adjust the status of fields in a form or detail block based on user actions, including: + +- Control the **visibility** of fields +- Set fields as **required** +- **Assign values** +- Configure the **options range** of option fields +- Limit the **available time range** for time fields + +👉 For more details, check: [Block/Field Linkage Rules](/handbook/ui/blocks/block-settings/field-linkage-rule) + +## Operation Linkage Rules + +Operation linkage rules currently support controlling operation behaviors (e.g., hide/disable) based on current record values and global variables. + +👉 For more details, check: [Operation/Linkage Rules](/handbook/ui/actions/action-settings/linkage-rule) + +## Field Style Linkage Rules + +Field style linkage rules allow dynamically setting field style properties based on conditions, mainly including: + +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` + +These are commonly used to highlight key information based on field status, indicate anomalies, or provide visual guidance. + +👉 For more details, check: [Field/Style](/handbook/ui/fields/field-settings/style) diff --git a/docs/fr-FR/handbook/block-multi-step-from/index.md b/docs/fr-FR/handbook/block-multi-step-from/index.md index 7d1bd55c20..8c12e936d4 100644 --- a/docs/fr-FR/handbook/block-multi-step-from/index.md +++ b/docs/fr-FR/handbook/block-multi-step-from/index.md @@ -22,7 +22,7 @@ Contrôlez le comportement des champs du formulaire grâce aux règles de liaiso ![](https://static-docs.nocobase.com/202410101717884.png) -Plus de contenu à consulter sur les [Règles de liaison](/handbook/ui/blocks/block-settings/linkage-rule) +Plus de contenu à consulter sur les [Règles de liaison](/handbook/ui/blocks/block-settings/field-linkage-rule) ### Paramétrage de la Hauteur du Bloc diff --git a/docs/fr-FR/handbook/ui/actions/action-settings/affter-successful.md b/docs/fr-FR/handbook/ui/actions/action-settings/affter-successful.md index 4dabd1fffd..11c6721d2f 100644 --- a/docs/fr-FR/handbook/ui/actions/action-settings/affter-successful.md +++ b/docs/fr-FR/handbook/ui/actions/action-settings/affter-successful.md @@ -11,3 +11,15 @@ La fonctionnalité "Après soumission réussie" permet de personnaliser le compo - **Rester sur la fenêtre pop-up ou la page actuelle** : Après le succès de l'opération, la fenêtre pop-up ou la route ne sera pas fermée. - **Retour à la fenêtre pop-up ou la page précédente (par défaut)** : La fenêtre pop-up sera fermée après la réussite de l'opération. - **Rediriger vers** : Après le succès de l'opération, la route sera changée vers l'itinéraire spécifié. + +### Redirection vers une route spécifique + +Dans un formulaire, le bouton de soumission peut, après une soumission réussie, utiliser les valeurs de l'enregistrement dans la réponse pour effectuer une redirection dynamique vers une route spécifiée. + +![20250405162542](https://static-docs.nocobase.com/20250405162542.png) + +Vous pouvez passer les valeurs d'enregistrement de la réponse comme variables dans le chemin. + +**Exemple :** Après la soumission réussie d'un enregistrement, rediriger vers la page de détails de l'enregistrement. + +![20250405162732](https://static-docs.nocobase.com/20250405162732.png) diff --git a/docs/fr-FR/handbook/ui/actions/action-settings/edit-button.md b/docs/fr-FR/handbook/ui/actions/action-settings/edit-button.md index 89389fe098..3e4abd83e9 100644 --- a/docs/fr-FR/handbook/ui/actions/action-settings/edit-button.md +++ b/docs/fr-FR/handbook/ui/actions/action-settings/edit-button.md @@ -2,8 +2,9 @@ ## Introduction -Vous pouvez personnaliser le nom, l'icône et la couleur de fond du bouton. Trois choix de couleur sont disponibles : par défaut, en surbrillance ou en rouge danger. +Vous pouvez personnaliser le nom du bouton, l'icône et la couleur de fond du bouton. Trois couleurs sont disponibles : par défaut, survolée ou rouge. Lorsque l'icône est définie, il est possible d'afficher uniquement l'icône. -![20240413093715](https://static-docs.nocobase.com/20240413093715.png) +![20250405140611](https://static-docs.nocobase.com/20250405140611.png) + +![20250405140640](https://static-docs.nocobase.com/20250405140640.png) -![20240413093745](https://static-docs.nocobase.com/20240413093745.png) diff --git a/docs/fr-FR/handbook/ui/actions/action-settings/linkage-rule.md b/docs/fr-FR/handbook/ui/actions/action-settings/linkage-rule.md index 7cc4a7963f..d2db779550 100644 --- a/docs/fr-FR/handbook/ui/actions/action-settings/linkage-rule.md +++ b/docs/fr-FR/handbook/ui/actions/action-settings/linkage-rule.md @@ -1,34 +1,52 @@ -# Règle de Liaison +# Règles de liaison ## Introduction -Les règles de liaison pour les actions sont configurées en fonction des conditions de données contextuelles et des résultats d'exécution. En configurant ces règles de liaison, vous pouvez contrôler l'état des actions (Visible, Caché, Activé, Désactivé). +Les règles de liaison des opérations permettent aux utilisateurs de contrôler dynamiquement l'état des opérations (comme l'affichage, l'activation, la désactivation, etc.) en fonction de conditions spécifiques. En configurant ces règles, les utilisateurs peuvent lier le comportement des boutons d'opération aux enregistrements actuels, aux rôles des utilisateurs ou aux données du contexte. Depuis la version `v1.7.0-beta.19`, tous les boutons globaux prennent en charge la configuration des règles de liaison. + +> **Note** : Les règles de liaison des opérations ne supportent pas encore une liaison directe avec les valeurs des formulaires, ce qui signifie qu'il n'est pas possible de faire des évaluations conditionnelles basées sur les valeurs des champs du formulaire actuel (c'est-à-dire que les variables du formulaire actuel ne sont pas prises en charge). Actuellement, les règles de liaison des opérations peuvent être configurées en fonction d'autres données contextuelles ou de variables système pour contrôler l'affichage, l'activation, la désactivation, etc. ![20240423113057](https://static-docs.nocobase.com/20240423113057.png) ## Instructions d'utilisation -![20240413102150](https://static-docs.nocobase.com/20240413102150.png) +![20250418152329](https://static-docs.nocobase.com/20250418152329.png) + +Lorsque la condition est remplie (par défaut, elle est toujours validée sans condition), les attributs sont définis, et il est possible d'utiliser des constantes ou des variables dans les évaluations de condition. + +## Constantes + +Exemple : seuls les commandes en attente de traitement peuvent être éditées. + +![20250418150033](https://static-docs.nocobase.com/20250418150033.png) + +## Variables + +### Variables système + +Exemple 1 : Le bouton de suppression des commandes dont la date est postérieure à aujourd'hui est désactivé. + +![20250418145825](https://static-docs.nocobase.com/20250418145825.png) -Lorsque les conditions sont remplies (par défaut, elles sont considérées comme passant sans conditions), l'action est déclenchée. Les constantes et les variables peuvent être utilisées dans l'évaluation des conditions. +Exemple 2 : Le bouton de suppression en masse dans l'en-tête du tableau des commandes n'est disponible que pour le rôle d'administrateur. D'autres rôles ne peuvent pas exécuter cette opération. -### Boutons Applicables aux Règles de Liaison +![20250418150637](https://static-docs.nocobase.com/20250418150637.png) -Actuellement, seules les actions avec un contexte de données prennent en charge la configuration des règles de liaison. +![20250418150826](https://static-docs.nocobase.com/20250418150826.png) -- Boutons de ligne dans des blocs tels que les tableaux et les diagrammes de Gantt ; -- Boutons dans les blocs de détails ; +### Variables contextuelles -### Constantes +Exemple : Le bouton d'ajout sur les détails de commande (bloc relation) est uniquement activé lorsque le statut de la commande est « En attente de paiement ». Dans tous les autres statuts, le bouton sera désactivé. -Exemple : Masquer le bouton de copie pour les commandes annulées. +![20250418145312](https://static-docs.nocobase.com/20250418145312.png) -![20240423113212](https://static-docs.nocobase.com/20240423113212.png) +![20250418150429](https://static-docs.nocobase.com/20250418150429.png) -### Variables +Pour plus d'informations sur les variables, consultez [Variables](/handbook/ui/variables). -Exemple : Désactiver le bouton de suppression pour les commandes dont la date de livraison est postérieure à aujourd'hui. +## RoadMap -![20240423113504](https://static-docs.nocobase.com/20240423113504.png) +- Planifié ou en cours + - Les règles de liaison des opérations prendront en charge le formulaire actuel. -Pour plus de détails sur l'utilisation des variables, consultez la section [Variables](/handbook/ui/variables). +Pour plus de détails sur les règles de liaison, consultez [Règles de liaison](/handbook/ui/linkage-rule). diff --git a/docs/fr-FR/handbook/ui/blocks/block-settings/block-linkage-rule.md b/docs/fr-FR/handbook/ui/blocks/block-settings/block-linkage-rule.md new file mode 100644 index 0000000000..71e630f678 --- /dev/null +++ b/docs/fr-FR/handbook/ui/blocks/block-settings/block-linkage-rule.md @@ -0,0 +1,13 @@ +# Règles de liaison des blocs + +> **Note** : Cette fonctionnalité est disponible **à partir de la version v1.7.0-beta.xx**. + +Les règles de liaison des blocs permettent aux utilisateurs de contrôler dynamiquement l'affichage des blocs. Par exemple, lorsqu'une certaine condition est remplie, un bloc peut être masqué, ce qui permet de créer des scénarios tels que xxx. + +### Contrôle des blocs avec des variables globales +Par exemple : « Rôle actuel » + +### Contrôle des blocs avec des variables contextuelles +Lorsque le bloc peut obtenir les enregistrements correspondants dans le contexte, l'affichage du bloc peut également être contrôlé par des variables contextuelles, telles que « Enregistrement actuel », « Formulaire actuel », « Enregistrement de la fenêtre contextuelle actuelle », etc. + +Pour plus de détails sur les règles de liaison, consultez [Règles de liaison](/handbook/ui/linkage-rule). diff --git a/docs/fr-FR/handbook/ui/blocks/block-settings/field-linkage-rule.md b/docs/fr-FR/handbook/ui/blocks/block-settings/field-linkage-rule.md new file mode 100644 index 0000000000..9eacb85b09 --- /dev/null +++ b/docs/fr-FR/handbook/ui/blocks/block-settings/field-linkage-rule.md @@ -0,0 +1,78 @@ +# Règles de liaison des champs + +## Introduction + +Les règles de liaison des champs permettent de modifier dynamiquement l'état des champs dans les blocs de formulaire/détails en fonction du comportement de l'utilisateur. Les blocs de champs actuellement pris en charge pour ces règles de liaison incluent : + +- [Bloc de formulaire](/handbook/ui/blocks/data-blocks/form#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [Bloc de détails](/handbook/ui/blocks/data-blocks/details#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [Sous-formulaire](/handbook/ui/fields/specific/nester) (nécessite la version v1.3.17-beta ou supérieure) +- [Sous-tableau](/handbook/ui/fields/specific/sub-table) (nécessite la version v1.3.17-beta ou supérieure) + +## Instructions d'utilisation + +#### **Règles de liaison dans le bloc de formulaire** + +Dans le bloc de formulaire, les règles de liaison peuvent ajuster dynamiquement le comportement des champs en fonction de conditions spécifiques : + +- **Contrôler l'affichage/la dissimulation des champs** : Afficher ou masquer un champ en fonction des valeurs d'autres champs. +- **Rendre un champ obligatoire** : Définir dynamiquement un champ comme obligatoire ou non obligatoire en fonction de certaines conditions. +- **Affectation de valeur** : Affecter automatiquement une valeur à un champ en fonction de conditions. +- **Configurer les options des champs de sélection** : Mettre à jour dynamiquement les options de sélection d'un champ en fonction des autres champs du formulaire. +- **Limiter la plage horaire des champs de temps** : Limiter la plage horaire des champs de type temps en fonction des valeurs d'autres champs. + +#### **Règles de liaison dans le bloc de détails** + +Dans le bloc de détails, les règles de liaison sont principalement utilisées pour contrôler dynamiquement l'affichage ou la dissimulation des champs dans le bloc de détails. + +![20250418161037](https://static-docs.nocobase.com/20250418161037.png) + +### Affectation de valeur + +Exemple : Lorsque la commande est marquée comme commande supplémentaire, le statut de la commande est automatiquement défini sur « En attente de révision ». + +![20250418161712](https://static-docs.nocobase.com/20250418161712.png) + +### Champ obligatoire + +Exemple : Lorsque le statut de la commande est « En attente de paiement », le montant de la commande devient obligatoire. + +![20250418163252](https://static-docs.nocobase.com/20250418163252.png) + +### Affichage/masquage + +Exemple : Le mode de paiement n'est affiché que lorsque le statut de la commande est « En attente de paiement ». + +![20250418163733](https://static-docs.nocobase.com/20250418163733.png) + +### Options + +> **Note** : Cette fonctionnalité est disponible **à partir de la version v1.7.0-beta.2**. + +Il est possible de configurer dynamiquement les options pour des champs de type `select`, `radioGroup`, `multipleSelect`, `checkboxGroup`, etc. Ces options peuvent être mises à jour en fonction des changements dans d'autres champs du formulaire. + +Exemple : L'option « Paiement en plusieurs fois » est disponible uniquement lorsque le montant de la commande est supérieur à 10 000. + +![20250418164806](https://static-docs.nocobase.com/20250418164806.png) + +Effet de liaison : + + + +### Plage de dates + +> **Note** : Cette fonctionnalité est disponible **à partir de la version v1.7.0-beta.2**. + +Il est possible de configurer dynamiquement la plage de dates pour des champs de type `date`, `datetime`, `dateOnly`, `datetimeNoTz`, `unixTimestamp`, `createdAt`, `updatedAt`, etc. Cette plage de dates peut être ajustée en fonction des changements dans d'autres champs du formulaire. + +Exemple : Après avoir sélectionné la date de la commande, la date de livraison ne peut pas être antérieure à la date de la commande. + +![20250418165500](https://static-docs.nocobase.com/20250418165500.png) + +Exemple : La date de livraison ne peut pas être antérieure à aujourd'hui et ne peut pas dépasser la date limite de la commande. + +![20250418170520](https://static-docs.nocobase.com/20250418170520.png) + +Pour plus de détails sur les règles de liaison, consultez [Règles de liaison](/handbook/ui/linkage-rule). diff --git a/docs/fr-FR/handbook/ui/blocks/block-settings/linkage-rule.md b/docs/fr-FR/handbook/ui/blocks/block-settings/linkage-rule.md deleted file mode 100644 index f831005fda..0000000000 --- a/docs/fr-FR/handbook/ui/blocks/block-settings/linkage-rule.md +++ /dev/null @@ -1,61 +0,0 @@ -# Règles de Liaison - -## Introduction - -Les règles de liaison permettent d'ajuster dynamiquement l'état des champs de formulaire en fonction du comportement de l'utilisateur, tels que Visible/Caché, Obligatoire/Non Obligatoire et l'assignation de valeurs. Actuellement, les composants suivants prennent en charge la configuration des règles de liaison : [Blocs de formulaire](https://docs.nocobase.com/handbook/ui/blocks/data-blocks/form#linkage-rules), [Blocs de détails](https://docs.nocobase.com/handbook/ui/blocks/data-blocks/details#linkage-rules), [Boutons d'action](https://docs.nocobase.com/handbook/ui/actions/action-settings/linkage-rule), [Sous-formulaires](https://docs.nocobase.com/handbook/ui/fields/specific/nester) (requiert v1.3.17-beta ou version supérieure), et [Sous-tables](https://docs.nocobase.com/handbook/ui/fields/specific/sub-table) (requiert v1.3.17-beta ou version supérieure). - -![20240408100711](https://static-docs.nocobase.com/20240408100711.png) - -![20240408100757](https://static-docs.nocobase.com/20240408100757.png) - -## Instructions d'utilisation - -1. **Configuration des champs** : Assurez-vous que tous les champs du formulaire utilisés dans les règles sont correctement configurés pour garantir l'efficacité et la précision des règles. - -2. **Activation conditionnelle** : Lorsque les conditions de la règle sont remplies (facultatif), le système exécute automatiquement les modifications de propriétés spécifiées. - -3. **Prise en charge de plusieurs règles** : Les formulaires peuvent contenir plusieurs règles de liaison. Lorsque plusieurs conditions de règles sont simultanément remplies, le système exécute les résultats de manière séquentielle, en suivant l'ordre de définition des règles. - -4. **Gestion des règles** : Profitez d'un contrôle complet avec des fonctionnalités telles que la dénomination personnalisée, le tri, la suppression, l'activation, la désactivation et la duplication des règles. - -5. **Intégration des constantes et des variables** : Utilisez des constantes ou des variables dans les affectations de champs et les configurations de conditions. Pour plus d'informations sur les variables, consultez la section [Variables](/handbook/ui/variables). - -### Affectation de Valeurs - -**Illustration** : Évaluer et attribuer automatiquement des niveaux de clients (par exemple, A+, A, A-) en fonction des montants d'achats annuels estimés. - -- Achat annuel estimé supérieur à 20 000 : Client classé A+. - -![20240408102241](https://static-docs.nocobase.com/20240408102241.png) - -- Achat annuel estimé entre 10 000 et 20 000 (inclus) : Client classé A. - -![20240408102303](https://static-docs.nocobase.com/20240408102303.png) - -- Achat annuel estimé inférieur à 10 000 : Client classé A-. - -![20240408102324](https://static-docs.nocobase.com/20240408102324.png) - -### Exigence de Champ - -**Illustration** : Ajuster dynamiquement le statut d'obligation du prix promotionnel du produit en fonction de son statut promotionnel. - -- Lorsque "IsPromotion" est activé, le prix promotionnel devient obligatoire. - -![20240408105031](https://static-docs.nocobase.com/20240408105031.png) - -- Lorsque "IsPromotion" est inactif, le prix promotionnel devient optionnel. - -![20240408105115](https://static-docs.nocobase.com/20240408105115.png) - -### Contrôle de Visibilité - -**Illustration** : Gérer la visibilité du champ de prix promotionnel en fonction du statut de la promotion du produit. - -- Lorsque "IsPromotion" est vrai, le champ de prix promotionnel est affiché et obligatoire. - -![20240408115240](https://static-docs.nocobase.com/20240408115240.png) - -- Lorsque "IsPromotion" est faux, le champ de prix promotionnel est caché et non obligatoire. - -![20240408115338](https://static-docs.nocobase.com/20240408115338.png) diff --git a/docs/fr-FR/handbook/ui/blocks/data-blocks/details.md b/docs/fr-FR/handbook/ui/blocks/data-blocks/details.md index f87f8a587c..d6339165a1 100644 --- a/docs/fr-FR/handbook/ui/blocks/data-blocks/details.md +++ b/docs/fr-FR/handbook/ui/blocks/data-blocks/details.md @@ -2,46 +2,64 @@ ## Introduction -Le bloc détails est utilisé pour afficher les valeurs de chaque champ pour chaque élément de données en détail. Il prend en charge une mise en page flexible des champs et dispose de diverses actions intégrées. +Le bloc de détails est utilisé pour afficher en détail les valeurs de chaque champ de chaque donnée. Il prend en charge une disposition flexible des champs et inclut diverses opérations sur les données. -## Ajouter des Blocs +## Ajouter un Bloc -## Paramètres du Bloc +## Options de Configuration du Bloc -![20240417122949](https://static-docs.nocobase.com/20240417122949.png) +![20240511114328](https://static-docs.nocobase.com/20240511114328.png) -### Définir la Portée des Données +### Définir la Plage de Données -Exemple : Filtrage par défaut des commandes livrées +Exemple : Afficher uniquement les commandes expédiées. ![20240417122910](https://static-docs.nocobase.com/20240417122910.png) -Pour plus de détails, veuillez consulter [Définir la Portée des Données](/handbook/ui/blocks/block-settings/data-scope) +Pour plus d'informations, consultez [Définir la Plage de Données](/handbook/ui/blocks/block-settings/data-scope). -### Définir la Règle de Tri par Défaut +### Définir la Règle de Tri ![20240417123300](https://static-docs.nocobase.com/20240417123300.png) -Pour plus de détails, veuillez consulter [Règles de Tri](/handbook/ui/blocks/block-settings/sorting-rule) +Pour plus d'informations, consultez [Règle de Tri](/handbook/ui/blocks/block-settings/sorting-rule). -- [Définir la Méthode de Chargement des Données](/handbook/ui/blocks/block-settings/loading-mode) -- [Enregistrer comme Modèle de Bloc](/handbook/block-template) +- [Définir le Mode de Chargement des Données](/handbook/ui/blocks/block-settings/loading-mode) +- [Enregistrer en tant que Modèle de Bloc](/handbook/block-template) + +### Règles de Liaison + +Les règles de liaison dans le bloc de détails permettent de définir dynamiquement l'affichage ou la dissimulation des champs. + +Exemple : Masquer la date d'expédition si la date de réception est antérieure à celle de l'expédition. + +![20240511115156](https://static-docs.nocobase.com/20240511115156.png) + +Pour plus d'informations, consultez [Règles de Liaison des Champs](/handbook/ui/blocks/block-settings/field-linkage-rule). + +### Définir la Hauteur du Bloc + +Exemple : Définir la hauteur du bloc de détails de la commande sur « Hauteur totale ». + +![20240604232307](https://static-docs.nocobase.com/20240604232307.gif) + +Pour plus d'informations, consultez [Hauteur du Bloc](/handbook/ui/blocks/block-settings/block-height). ## Configurer les Champs -### Champs de la Collection Actuelle +### Champs de la Table Courante ![20240417213735](https://static-docs.nocobase.com/20240417213735.png) -### Champs d'Association +### Champs de la Table Relationnelle ![20240417214006](https://static-docs.nocobase.com/20240417214006.png) -Pour plus de détails sur la configuration des champs de détail, veuillez consulter [Champs Détails](/handbook/ui/fields/generic/detail-form-item) +Pour plus d'informations sur la configuration des champs de détail, consultez [Champs de Détail](/handbook/ui/fields/generic/detail-form-item). ## Configurer les Actions @@ -49,7 +67,7 @@ Pour plus de détails sur la configuration des champs de détail, veuillez consu - [Modifier](/handbook/ui/actions/types/edit) - [Supprimer](/handbook/ui/actions/types/delete) -- [Pop-up](/handbook/ui/actions/types/pop-up) -- [Mettre à jour l'enregistrement](/handbook/ui/actions/types/update-record) -- [Demande Personnalisée](/handbook/action-custom-request) -- [Déclencher un flux de travail](/handbook/workflow/manual/triggers/cutom-action-trigger) +- [Fenêtre Pop-up](/handbook/ui/actions/types/pop-up) +- [Mettre à Jour l'Enregistrement](/handbook/ui/actions/types/update-record) +- [Requête Personnalisée](/handbook/action-custom-request) +- [Déclencher un Flux de Travail](/handbook/workflow/manual/triggers/custom-action) diff --git a/docs/fr-FR/handbook/ui/blocks/data-blocks/form.md b/docs/fr-FR/handbook/ui/blocks/data-blocks/form.md index 96b95703f1..49668b4124 100644 --- a/docs/fr-FR/handbook/ui/blocks/data-blocks/form.md +++ b/docs/fr-FR/handbook/ui/blocks/data-blocks/form.md @@ -20,7 +20,7 @@ Contrôlez le comportement des champs du formulaire à l'aide des règles de lia ![20240416220254](https://static-docs.nocobase.com/20240416220254.png) -Pour plus d'informations, consultez [Règles de Liaison](/handbook/ui/blocks/block-settings/linkage-rule). +Pour plus d'informations, consultez [Règles de Liaison](/handbook/ui/blocks/block-settings/field-linkage-rule). ### Modèles de Données de Formulaire (Prend en charge uniquement les formulaires pour l'ajout de nouvelles données) diff --git a/docs/fr-FR/handbook/ui/blocks/filter-blocks/form.md b/docs/fr-FR/handbook/ui/blocks/filter-blocks/form.md index 1b1e1edabb..e3a974ffca 100644 --- a/docs/fr-FR/handbook/ui/blocks/filter-blocks/form.md +++ b/docs/fr-FR/handbook/ui/blocks/filter-blocks/form.md @@ -25,7 +25,7 @@ Exemple : Le bloc de filtrage de formulaire se connecte au bloc de données de d Pour plus de contenu, consultez [Connexion au Bloc de Données](/handbook/ui/blocks/block-settings/connect-block). - [Modifier le Titre du Bloc](/handbook/ui/blocks/block-settings/block-title) -- [Règles de Liaison](/handbook/ui/blocks/block-settings/linkage-rule) +- [Règles de Liaison](/handbook/ui/blocks/block-settings/field-linkage-rule) - [Enregistrer comme Modèle de Bloc](/handbook/block-template) ## Configuration des Champs diff --git a/docs/fr-FR/handbook/ui/fields/field-settings/style.md b/docs/fr-FR/handbook/ui/fields/field-settings/style.md index a5b39b00d5..2afee305d8 100644 --- a/docs/fr-FR/handbook/ui/fields/field-settings/style.md +++ b/docs/fr-FR/handbook/ui/fields/field-settings/style.md @@ -1,22 +1,28 @@ -# Configuration du style +# Configuration des Styles ## Introduction -Les utilisateurs peuvent ajuster le style des champs dans le menu de style (actuellement, les paramètres de couleur et de couleur d'arrière-plan sont pris en charge). De plus, les styles peuvent être ajustés dynamiquement en fonction des valeurs des champs ou des variables système. +Les règles de liaison des styles de champ sont un outil essentiel pour améliorer l'expérience utilisateur. En configurant dynamiquement les styles, vous pouvez améliorer l'impact visuel des blocs et aider les utilisateurs à repérer plus rapidement les informations clés. Cela comprend principalement : -## Comment utiliser +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` -Supposons que nous ayons un tableau des détails des transactions bancaires avec une colonne pour les montants des transactions. Nous souhaitons définir les montants positifs (revenus) en vert et les montants négatifs (dépenses) en rouge. Voici les étapes spécifiques : +Ces règles sont couramment utilisées pour mettre en évidence des informations importantes en fonction de l'état du champ, signaler des anomalies ou guider visuellement l'utilisateur. -1. Tout d'abord, ouvrez le menu des paramètres pour le champ du montant de la transaction et cliquez sur l'option de style. -![Screenshot_2024-08-08_14-56-12-2024-08-08-22-57-37](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-56-12-2024-08-08-22-57-37.png) +## Méthode d'utilisation -2. Cliquez sur "Ajouter une règle dynamique" et définissez la première règle : lorsque le montant de la transaction est supérieur à 0, définissez la couleur du champ en vert. -![Screenshot_2024-08-08_14-58-17-2024-08-08-22-58-36](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-58-17-2024-08-08-22-58-36.png) +Exemple : Modifiez dynamiquement la couleur du champ "Montant de la commande" en fonction du montant de la commande. Si le montant de la commande dépasse 1000, la couleur devient verte ; si le montant est inférieur ou égal à 1000, la couleur devient rouge. -3. Cliquez de nouveau sur "Ajouter une règle dynamique" pour définir la deuxième règle : lorsque le montant de la transaction est inférieur à 0, définissez la couleur du champ en rouge. +- Règle 1 : Lorsque **le montant de la commande est supérieur à 10000**, la couleur du champ devient verte. -![Screenshot_2024-08-08_14-59-03-2024-08-08-22-59-14](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-59-03-2024-08-08-22-59-14.png) +![20250418171640](https://static-docs.nocobase.com/20250418171640.png) -Le résultat final sera le suivant : -![Screenshot_2024-08-08_14-59-20-2024-08-08-22-59-28](https://static-docs.nocobase.com/Screenshot_2024-08-08_14-59-20-2024-08-08-22-59-28.png) +- Règle 2 : Lorsque **le montant de la commande est inférieur ou égal à 1000**, la couleur du champ devient rouge. + +![20250418171900](https://static-docs.nocobase.com/20250418171900.png) + +Pour plus d'informations, consultez [Règles de Liaison](/handbook/ui/linkage-rule). diff --git a/docs/fr-FR/handbook/ui/fields/specific/nester.md b/docs/fr-FR/handbook/ui/fields/specific/nester.md index 56f3bc214e..3ef1943bfc 100644 --- a/docs/fr-FR/handbook/ui/fields/specific/nester.md +++ b/docs/fr-FR/handbook/ui/fields/specific/nester.md @@ -37,4 +37,4 @@ La version de NocoBase doit être v1.3.17-beta ou supérieure. ![20240906083737_rec_](https://static-docs.nocobase.com/20240906083737_rec_.gif) -Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/linkage-rule). +Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/field-linkage-rule). diff --git a/docs/fr-FR/handbook/ui/fields/specific/popover-nester.md b/docs/fr-FR/handbook/ui/fields/specific/popover-nester.md index 92ebfe2d45..7c19b77cb8 100644 --- a/docs/fr-FR/handbook/ui/fields/specific/popover-nester.md +++ b/docs/fr-FR/handbook/ui/fields/specific/popover-nester.md @@ -43,4 +43,4 @@ La version de NocoBase doit être v1.3.17-beta ou supérieure. ![20240906085955_rec_](https://static-docs.nocobase.com/20240906085955_rec_.gif) -Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/linkage-rule). +Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/field-linkage-rule). diff --git a/docs/fr-FR/handbook/ui/fields/specific/sub-detail.md b/docs/fr-FR/handbook/ui/fields/specific/sub-detail.md index 5e2c33f3dd..2acd9ae7a3 100644 --- a/docs/fr-FR/handbook/ui/fields/specific/sub-detail.md +++ b/docs/fr-FR/handbook/ui/fields/specific/sub-detail.md @@ -39,4 +39,4 @@ La version de NocoBase doit être v1.3.17-beta ou supérieure. ![20240906090603_rec_](https://static-docs.nocobase.com/20240906090603_rec_.gif) -Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/linkage-rule). +Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/field-linkage-rule). diff --git a/docs/fr-FR/handbook/ui/fields/specific/sub-table.md b/docs/fr-FR/handbook/ui/fields/specific/sub-table.md index 46c3a08fae..70cc77ea18 100644 --- a/docs/fr-FR/handbook/ui/fields/specific/sub-table.md +++ b/docs/fr-FR/handbook/ui/fields/specific/sub-table.md @@ -47,7 +47,7 @@ La version de NocoBase doit être v1.3.17-beta ou supérieure. ![20240906084911_rec_](https://static-docs.nocobase.com/20240906084911_rec_.gif) -Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/linkage-rule) +Pour plus d'informations, consultez [Règles de Lien](/handbook/ui/blocks/block-settings/field-linkage-rule) ### Autoriser la dissociation diff --git a/docs/fr-FR/handbook/ui/linkage-rule.md b/docs/fr-FR/handbook/ui/linkage-rule.md new file mode 100644 index 0000000000..b3b4ac69be --- /dev/null +++ b/docs/fr-FR/handbook/ui/linkage-rule.md @@ -0,0 +1,128 @@ +# Règles de Liaison + +## Introduction + +Dans NocoBase, les règles de liaison sont un mécanisme utilisé pour contrôler le comportement interactif des éléments de l'interface front-end. Elles permettent aux utilisateurs d'ajuster la présentation et la logique comportementale des blocs, des champs et des actions en fonction de différentes conditions, offrant ainsi une expérience interactive flexible et à faible code. Cette fonctionnalité est en cours d'optimisation continue. + +En configurant les règles de liaison, vous pouvez réaliser des actions comme : + +- Masquer/afficher certains blocs en fonction du rôle de l'utilisateur actuel, avec des blocs affichant des informations différentes selon le rôle (par exemple, un administrateur peut voir un bloc avec toutes les informations, tandis qu'un utilisateur standard ne voit que des informations de base). +- Lorsqu'un certain champ est sélectionné dans un formulaire, automatiquement remplir ou réinitialiser la valeur d'autres champs. +- Lorsqu'un certain champ est sélectionné dans un formulaire, désactiver certains éléments de saisie. +- Modifier dynamiquement la couleur de fond, la taille de police, la graisse de police, etc., en fonction de conditions spécifiques pour mettre en surbrillance un champ. +- Contrôler la visibilité ou l'interactivité des boutons d'action en fonction de certaines conditions. + +## Configuration des Conditions + +![20250417214217](https://static-docs.nocobase.com/20250417214217.png) + +### Variables à gauche + +Les variables à gauche dans une règle de liaison sont utilisées pour définir l'"objet de la condition", c'est-à-dire la variable dont la valeur sera utilisée pour effectuer la comparaison afin de déterminer si l'action de liaison doit être exécutée. + +Les variables disponibles comprennent : + +- Champs dans le contexte, tels que `« Formulaire actuel/xxx »`, `« Enregistrement actuel/xxx »`, `« Enregistrement de la fenêtre contextuelle actuelle/xxx »`, etc. +- Variables globales du système, telles que `Utilisateur actuel`, `Rôle actuel`, etc., qui peuvent être utilisées pour un contrôle dynamique basé sur l'identité ou les permissions de l'utilisateur. + > ✅ Les variables à gauche disponibles dépendent du contexte du bloc. Utilisez les variables à gauche de manière appropriée en fonction des besoins métier : + > + > - « Utilisateur actuel » fait référence aux informations de l'utilisateur actuellement connecté ; + > - « Formulaire actuel » fait référence aux valeurs saisies en temps réel dans le formulaire ; + > - « Enregistrement actuel » fait référence aux valeurs enregistrées, telles que celles des lignes de tableau. + +### Opérateurs + +Les opérateurs servent à établir la logique de comparaison, c'est-à-dire à déterminer comment comparer la variable à gauche à la valeur de droite. Différents types de variables à gauche supportent différents opérateurs, les opérateurs courants incluent : + +- **Types texte** : `$includes`, `$eq`, `$ne`, `$empty`, `$notEmpty`, etc. +- **Types numériques** : `$eq`, `$gt`, `$lt`, `$gte`, `$lte`, etc. +- **Types booléens** : `$isTruly`, `$isFalsy` +- **Types tableau** : `$match`, `$anyOf`, `$empty`, `$notEmpty`, etc. + +> ✅ Le système recommande automatiquement une liste d'opérateurs disponibles en fonction du type de la variable à gauche, garantissant une logique de configuration appropriée. + +### Valeur à droite + +La valeur à droite est celle avec laquelle la variable à gauche sera comparée pour déterminer si la condition est remplie. + +Les contenus suivants sont pris en charge : + +- Valeurs constantes : saisie de valeurs fixes telles que des nombres, du texte, des dates, etc. +- Variables du contexte : telles que d'autres champs du formulaire actuel, l'enregistrement actuel, etc. +- Variables système : comme l'utilisateur actuel, l'heure actuelle, le rôle actuel, etc. + +> ✅ Le système adapte automatiquement l'interface pour la saisie de la valeur à droite en fonction du type de la variable à gauche, par exemple : +> +> - Si la variable à gauche est un champ « option », un sélecteur d'options sera affiché ; +> - Si la variable à gauche est un champ « date », un sélecteur de date sera affiché ; +> - Si la variable à gauche est un champ « texte », un champ de saisie de texte sera affiché. + +> 💡 En utilisant judicieusement les valeurs dynamiques à droite (en particulier les variables), vous pouvez construire des logiques de liaison basées sur l'utilisateur actuel, l'état des données et le contexte, créant ainsi des interactions plus puissantes. + +## Logique d'exécution des règles + +### Déclenchement des conditions + +Lorsque la condition d'une règle est remplie (et que le champ n'est pas requis), l'action de modification des propriétés est automatiquement exécutée. Si aucune condition n'est définie, la règle est considérée comme toujours remplie, et l'action de modification des propriétés est donc toujours exécutée. + +### Plusieurs règles + +Vous pouvez configurer plusieurs règles de liaison pour un formulaire. Lorsque plusieurs règles sont satisfaites, le système exécute les actions dans l'ordre où les règles ont été définies, c'est-à-dire en suivant l'ordre des règles, et la dernière règle est celle qui prévaut. +Exemple : la règle 1 rend un champ « désactivé », et la règle 2 le rend « modifiable ». Si les conditions des deux règles sont satisfaites, le champ sera « modifiable ». + +> L'ordre d'exécution des règles est crucial. Veillez à bien définir les priorités et relations entre les règles pour éviter des conflits de logique. + +## Gestion des règles + +Vous pouvez effectuer les actions suivantes sur chaque règle : + +- **Nomination personnalisée** : attribuez un nom clair à chaque règle pour une meilleure gestion et identification. +- **Tri** : ajustez l'ordre des règles en fonction de la priorité d'exécution pour garantir que le système traite les règles dans l'ordre correct. +- **Suppression** : supprimez les règles qui ne sont plus nécessaires. +- **Activer/Désactiver** : désactivez temporairement une règle sans la supprimer, ce qui est utile lorsque vous devez désactiver une règle dans certains cas sans la supprimer définitivement. +- **Copier la règle** : dupliquez une règle existante pour créer une nouvelle règle, afin d'éviter la saisie manuelle répétitive. + +## À propos des variables + +Dans l'attribution des champs et la configuration des conditions, non seulement les constantes sont prises en charge, mais aussi les variables. La liste des variables dépend du contexte du bloc. Choisir et utiliser les variables de manière appropriée permet de répondre plus facilement aux besoins métier. Pour plus d'informations sur les variables, consultez la section [Variables](/handbook/ui/variables). + +## Règles de Liaison de Bloc (fonctionnalité à venir) + +> **Note** : cette fonctionnalité est disponible à partir de la version v1.7.0-beta.xx + +Les règles de liaison de bloc permettent de contrôler dynamiquement l'affichage des blocs en fonction de variables système (comme l'utilisateur actuel, le rôle actuel) ou de variables du contexte (comme l'enregistrement de la fenêtre contextuelle actuelle). Par exemple, un administrateur peut voir un bloc avec toutes les informations d'une commande, tandis qu'un utilisateur standard peut ne voir que des informations spécifiques. Cette fonctionnalité permet de configurer deux blocs de commande et d'ajouter des règles de liaison de bloc pour créer cet effet. + +👉 Plus de détails : [Règles de Liaison de Bloc](/handbook/ui/blocks/block-settings/block-linkage-rule) + +## Règles de Liaison de Champ + +Les règles de liaison de champ sont utilisées pour ajuster dynamiquement l'état des champs dans les formulaires ou les blocs de détails, notamment pour : + +- Contrôler l'**affichage/masquage** des champs. +- Définir si un champ est **obligatoire**. +- **Assigner des valeurs**. +- Configurer la **plage d'options** pour les champs à options. +- Limiter la **plage de temps** pour les champs de type date. + +👉 Plus de détails : [Règles de Liaison de Champ](/handbook/ui/blocks/block-settings/field-linkage-rule) + +## Règles de Liaison des Actions + +Les règles de liaison des actions permettent de contrôler les actions en fonction des valeurs des enregistrements actuels ou des variables globales, telles que la visibilité ou la possibilité de désactiver les actions. + +👉 Plus de détails : [Règles de Liaison des Actions](/handbook/ui/actions/action-settings/linkage-rule) + +## Règles de Liaison de Style de Champ + +Les règles de liaison de style de champ permettent de définir dynamiquement les propriétés de style des champs en fonction de conditions spécifiques, principalement pour les propriétés suivantes : + +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` + +Elles sont souvent utilisées pour mettre en surbrillance des informations importantes, signaler des anomalies ou guider visuellement l'utilisateur. + +👉 Plus de détails : [Règles de Style de Champ](/handbook/ui/fields/field-settings/style) diff --git a/docs/ja-JP/handbook/block-multi-step-from/index.md b/docs/ja-JP/handbook/block-multi-step-from/index.md index fb8b5a73b7..51418b68f7 100644 --- a/docs/ja-JP/handbook/block-multi-step-from/index.md +++ b/docs/ja-JP/handbook/block-multi-step-from/index.md @@ -21,7 +21,7 @@ ![](https://static-docs.nocobase.com/202410101717884.png) -詳細は[リンクルール](/handbook/ui/blocks/block-settings/linkage-rule)をご参照ください。 +詳細は[リンクルール](/handbook/ui/blocks/block-settings/field-linkage-rule)をご参照ください。 ### ブロックの高さを設定する diff --git a/docs/ja-JP/handbook/block-tree/index.md b/docs/ja-JP/handbook/block-tree/index.md index fb55f259b9..bcf0e0ceee 100644 --- a/docs/ja-JP/handbook/block-tree/index.md +++ b/docs/ja-JP/handbook/block-tree/index.md @@ -27,7 +27,7 @@ 詳細については [データブロックの接続](/handbook/ui/blocks/block-settings/connect-block) をご参照ください。 - [ブロックタイトルの編集](/handbook/ui/blocks/block-settings/block-title) -- [連動ルール](/handbook/ui/blocks/block-settings/linkage-rule) +- [連動ルール](/handbook/ui/blocks/block-settings/field-linkage-rule) - [ブロックテンプレートとして保存](/handbook/block-template) ## 設定フィールド diff --git a/docs/ja-JP/handbook/ui/actions/action-settings/affter-successful.md b/docs/ja-JP/handbook/ui/actions/action-settings/affter-successful.md index 12fca6e169..2e154cedc2 100644 --- a/docs/ja-JP/handbook/ui/actions/action-settings/affter-successful.md +++ b/docs/ja-JP/handbook/ui/actions/action-settings/affter-successful.md @@ -1,14 +1,35 @@ -# 提出成功後 +# 提交成功後 -## 紹介 +## 介紹 -提出が成功した後の設定では、ユーザーが操作完了後の応答動作をカスタマイズできます。これには、カスタム成功メッセージの作成、ポップアップを自動的に閉じるか手動で閉じるかの選択、現在のページに留まるか、前のポップアップやページに戻るか、指定したルートに移動するかを選択できます。 +提交成功後の設定では、操作が完了した後のレスポンス動作をユーザーがカスタマイズできます。ユーザーは、成功メッセージをカスタマイズし、メッセージを自動または手動で閉じる設定を選択できます。また、現在のページに留まる、前のポップアップやページに戻る、または指定したルートにリダイレクトするかを選択できます。 ![20240413213519](https://static-docs.nocobase.com/20240413213519.png) ![20241012125623](https://static-docs.nocobase.com/20241012125623.png) -- 現在のポップアップまたはページに留まる:操作が成功してもポップアップを閉じたりルートを変更したりしない -- 前のポップアップまたはページに戻る(デフォルト):操作が成功すると、現在のポップアップが閉じられる -- 移動する:操作が成功すると、指定したルートに遷移する +- 現在のポップアップやページに留まる:操作が成功した後、ポップアップやルートの遷移は行いません +- 前のポップアップやページに戻る(デフォルト):操作が成功した後、現在のポップアップを閉じます +- リダイレクト:操作が成功した後、指定したルートに遷移します +## データブロックのリフレッシュv1.7.0+ + +操作が成功した後、データブロックをリフレッシュすることができます。ユーザーは、リフレッシュしたいデータブロックをドロップダウンリストから選択できます。選択肢には、現在のページやポップアップ内のデータブロックが含まれます。データブロックのリフレッシュ操作は、操作が成功した後に即座に実行され、ユーザーが最新のデータ状態を確認できるようにします。 + +### 操作の流れ +1. 「提交成功後」設定ポップアップを開きます。 +2. 「データブロックのリフレッシュ」オプションで、リフレッシュするデータブロックを選択します。 +3. 「決定」ボタンをクリックして、設定を完了します。 + +![428388359-4c20f495-619e-4392-95e3-eea2b6085a50](https://static-docs.nocobase.com/428388359-4c20f495-619e-4392-95e3-eea2b6085a50.gif) + +### 指定されたルートへのリダイレクト + +フォームの「提交」ボタンでは、操作が成功した後、レスポンス結果内のレコード値に基づいて動的に変数を渡し、ルートにリダイレクトすることができます。 + +![20250405162542](https://static-docs.nocobase.com/20250405162542.png) + +レスポンス結果のレコードを変数としてパスに渡すことができます。 +以下の例のように、レコード作成が成功した後、そのレコードの詳細ページにリダイレクトします。 + +![20250405162732](https://static-docs.nocobase.com/20250405162732.png) diff --git a/docs/ja-JP/handbook/ui/actions/action-settings/edit-button.md b/docs/ja-JP/handbook/ui/actions/action-settings/edit-button.md index 410f7fc061..10dc238490 100644 --- a/docs/ja-JP/handbook/ui/actions/action-settings/edit-button.md +++ b/docs/ja-JP/handbook/ui/actions/action-settings/edit-button.md @@ -1,10 +1,7 @@ # 編集ボタン -## 紹介 +## 介紹 -ボタンの名前、アイコン、および背景色をパーソナライズできます。デフォルト、高亮、または危険な赤の三種類の色から選択可能です。 - -![20240413093715](https://static-docs.nocobase.com/20240413093715.png) - -![20240413093745](https://static-docs.nocobase.com/20240413093745.png) +ボタンの名前、アイコン、背景色をカスタマイズできます。背景色は、デフォルト、高亮、赤色の3つの色のいずれかを選択できます。アイコンを設定した場合、アイコンのみを表示することも可能です。 +![20250405140611](https://static-docs.nocob diff --git a/docs/ja-JP/handbook/ui/actions/action-settings/linkage-rule.md b/docs/ja-JP/handbook/ui/actions/action-settings/linkage-rule.md index f419c2d2e9..cc3248cfda 100644 --- a/docs/ja-JP/handbook/ui/actions/action-settings/linkage-rule.md +++ b/docs/ja-JP/handbook/ui/actions/action-settings/linkage-rule.md @@ -1,35 +1,52 @@ # 操作の連動ルール -## 紹介 +## 介紹 -操作の連動ルールは、コンテキストデータに基づいて条件と実行結果を設定します。これにより、操作の状態(表示、非表示、有効、無効)を制御できます。 +操作連動ルールを使用すると、特定の条件に基づいて操作の状態(表示、利用可能、非表示、無効化など)を動的に制御できます。これらのルールを設定することにより、ユーザーは操作ボタンの動作を現在のレコード、ユーザーの役割、またはコンテキストデータと連動させることができます。`v1.7.0-beta.19` 以降、すべてのグローバルボタンは連動ルールの設定をサポートしています。 + +> **注意**: 操作連動ルールは現在、フォームの値との直接的な連動には対応していません。そのため、現在のフォームのフィールド値に基づいて条件判断を行うことはできません(つまり、現在のフォーム変数の使用はサポートされていません)。現在、操作の連動ルールは他のコンテキストデータやシステム変数を基に操作の表示、利用可能、無効化などの状態を制御することをサポートしています。 ![20240423113057](https://static-docs.nocobase.com/20240423113057.png) ## 使用方法 -![20240413102150](https://static-docs.nocobase.com/20240413102150.png) +![20250418152329](https://static-docs.nocobase.com/20250418152329.png) + +条件を満たすと(条件なしでデフォルトで許可)、実行属性の設定がトリガーされます。条件判断には定数や変数の使用がサポートされています。 + +## 定数 + +例: 「処理待ち」の注文のみが編集可能です。 + +![20250418150033](https://static-docs.nocobase.com/20250418150033.png) + +## 変数 + +### システム変数 + +例1: 注文日が今日以降の注文の削除ボタンを無効化します。 -条件を満たす場合(無条件の場合はデフォルトで通過)、実行がトリガーされ、条件判断では定数や変数を使用できます。 +![20250418145825](https://static-docs.nocobase.com/20250418145825.png) -### 連動ルールを設定できるボタン +例2: 注文区画の表のバッチ削除ボタンは管理者役割のみ使用可能で、他の役割はこの操作を実行できません。 -現在、データコンテキストを持つボタンのみが連動ルールの設定をサポートしています。 +![20250418150637](https://static-docs.nocobase.com/20250418150637.png) -- テーブルやガントチャートなどのブロック内の行ボタン -- 詳細ブロックのボタン +![20250418150826](https://static-docs.nocobase.com/20250418150826.png) -### 定数 +### コンテキスト変数 -例:キャンセルされた注文のコピーボタンを非表示にします。 +例: 注文明細(関連区画)の追加ボタンは、注文ステータスが「支払い待ち」の場合のみ有効で、他のステータスではボタンが無効化されます。 -![20240423113212](https://static-docs.nocobase.com/20240423113212.png) +![20250418145312](https://static-docs.nocobase.com/20250418145312.png) -### 変数 +![20250418150429](https://static-docs.nocobase.com/20250418150429.png) -例:受取日が今日以降の注文の削除ボタンを無効にします。 +変数の詳細については[変数](/handbook/ui/variables)をご覧ください。 -![20240423113504](https://static-docs.nocobase.com/20240423113504.png) +## RoadMap -変数に関する詳細は[変数](/handbook/ui/variables)を参照してください。 +- 計画中または進行中 + - 操作連動ルールが現在のフォームをサポート +その他の連動ルールについての詳細は[連動ルール](/handbook/ui/linkage-rule)を参照してください。 diff --git a/docs/ja-JP/handbook/ui/blocks/block-settings/block-linkage-rule.md b/docs/ja-JP/handbook/ui/blocks/block-settings/block-linkage-rule.md new file mode 100644 index 0000000000..2adb704f73 --- /dev/null +++ b/docs/ja-JP/handbook/ui/blocks/block-settings/block-linkage-rule.md @@ -0,0 +1,14 @@ +# 区画の連動ルール + +> **注意**: この機能は**v1.7.0-beta.xxバージョン以降でサポートされています** + +区画の連動ルールを使用すると、特定の条件を満たしたときに区画の表示を動的に制御できます。例えば、特定の条件を満たすと特定の区画を非表示にするなどのシナリオが実現可能です。 + +### グローバル変数による区画の制御 +例えば「現在の役割」など + +### コンテキスト変数による区画の制御 +区画がコンテキスト内で対応するレコードを取得できる場合、コンテキスト変数を使用して区画の表示を制御できます。 +例えば「現在のレコード」「現在のフォーム」「現在のポップアップレコード」など + +その他の連動ルールについての詳細は[連動ルール](/handbook/ui/linkage-rule)をご覧ください。 diff --git a/docs/ja-JP/handbook/ui/blocks/block-settings/field-linkage-rule.md b/docs/ja-JP/handbook/ui/blocks/block-settings/field-linkage-rule.md new file mode 100644 index 0000000000..18470e5bfc --- /dev/null +++ b/docs/ja-JP/handbook/ui/blocks/block-settings/field-linkage-rule.md @@ -0,0 +1,78 @@ +# フィールドの連動ルール + +## イントロダクション + +フィールドの連動ルールは、ユーザーの操作に応じてフォームや詳細ブロックのフィールドの状態を動的に調整することを許可します。現在、フィールド連動ルールがサポートされているブロックには以下が含まれます: + +- [フォームブロック](/handbook/ui/blocks/data-blocks/form#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [詳細ブロック](/handbook/ui/blocks/data-blocks/details#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [ネストされたフォーム](/handbook/ui/fields/specific/nester)(v1.3.17-beta 以上が必要) +- [サブテーブル](/handbook/ui/fields/specific/sub-table)(v1.3.17-beta 以上が必要) + +## 使用説明 + +#### **フォームブロックでの連動ルール** + +フォームブロック内で、連動ルールは特定の条件に基づいてフィールドの動作を動的に調整できます: + +- **フィールドの表示/非表示の制御**:他のフィールドの値に基づいて、現在のフィールドを表示するか非表示にするかを決定します。 +- **フィールドを必須に設定**:特定の条件下で、フィールドを必須または非必須に設定します。 +- **値の設定**:条件に基づいてフィールドに自動的に値を設定します。 +- **選択肢フィールドの選択肢範囲の設定**:条件に基づいて、ドロップダウンリストの選択肢の可選範囲を動的に更新します。 +- **日時フィールドの選択可能な日時範囲の制限**:他のフィールドの値に基づいて、日時フィールドの選択可能な範囲を制限します。 + +#### **詳細ブロックでの連動ルール** + +詳細ブロックでは、連動ルールは主にフィールドの表示/非表示を動的に制御します。 + +![20250418161037](https://static-docs.nocobase.com/20250418161037.png) + +### 値の設定 + +例:注文が「追加注文」としてチェックされた場合、注文ステータスを「待機中確認」に自動的に設定します。 + +![20250418161712](https://static-docs.nocobase.com/20250418161712.png) + +### 必須 + +例:注文ステータスが「未払い」の場合、注文金額は必須フィールドになります。 + +![20250418163252](https://static-docs.nocobase.com/20250418163252.png) + +### 表示/非表示 + +例:「未払い」の注文ステータスの場合にのみ、支払い方法が表示されます。 + +![20250418163733](https://static-docs.nocobase.com/20250418163733.png) + +### 選択肢 + +> **注意**: この機能は**v1.7.0-beta.2バージョン以降でサポートされています** + +`select`, `radioGroup`, `multipleSelect`, `checkboxGroup` などのフィールドタイプに対して、選択肢を動的に設定できます。これらの選択肢はフォーム内の他のフィールドの変更に基づいて連動することができます。 + +例:注文金額が10000を超える場合にのみ、「分割払い」を選択できます。 + +![20250418164806](https://static-docs.nocobase.com/20250418164806.png) + +連動効果は以下の通りです。 + + + +### 日付範囲 + +> **注意**: この機能は**v1.7.0-beta.2バージョン以降でサポートされています** + +`date`, `datetime`, `dateOnly`, `datetimeNoTz`, `unixTimestamp`, `createdAt`, `updatedAt` などのフィールドタイプに対して、日付範囲を動的に設定できます。これらの選択可能な日付範囲はフォーム内の他のフィールドの変更に基づいて自動的に調整されます。 + +例:注文日を選択した後、発送日は注文日より前に選べません。 + +![20250418165500](https://static-docs.nocobase.com/20250418165500.png) + +例:納品日 (Delivery Date) は今日以降、そして注文締め切り日 (Order Deadline) を超えることはできません。 + +![20250418170520](https://static-docs.nocobase.com/20250418170520.png) + +その他の連動ルールについての詳細は[連動ルール](/handbook/ui/linkage-rule)をご覧ください。 diff --git a/docs/ja-JP/handbook/ui/blocks/block-settings/linkage-rule.md b/docs/ja-JP/handbook/ui/blocks/block-settings/linkage-rule.md deleted file mode 100644 index e978aff6a7..0000000000 --- a/docs/ja-JP/handbook/ui/blocks/block-settings/linkage-rule.md +++ /dev/null @@ -1,62 +0,0 @@ -# リンクルール - -## 概要 - -リンクルールは、ユーザーの行動に基づいてフォームフィールドの状態を動的に調整することを可能にします。例えば、表示/非表示、必須/任意、値の設定などが挙げられます。現在、リンクルールの設定がサポートされているのは、[フォームブロック](https://docs-jp.nocobase.com/handbook/ui/blocks/data-blocks/form#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99)、[詳細ブロック](https://docs-jp.nocobase.com/handbook/ui/blocks/data-blocks/details#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99)、[操作ボタン](https://docs-jp.nocobase.com/handbook/ui/actions/action-settings/linkage-rule)、[サブフォーム](https://docs-jp.nocobase.com/handbook/ui/fields/specific/nester)(v1.3.17-beta以上が必要)、[サブテーブル](https://docs-jp.nocobase.com/handbook/ui/fields/specific/sub-table)(v1.3.17-beta以上が必要)です。 - -![20240408100711](https://static-docs.nocobase.com/20240408100711.png) - -![20240408100757](https://static-docs.nocobase.com/20240408100757.png) - -## 使用手順 - -1. **フォームフィールドの設定**:ルールで使用するすべてのフォームフィールドを設定する必要があります。これにより、ルールの有効性と正確性が保証されます。 - -2. **条件トリガー**:ルール内の条件が満たされると(必須ではありません)、下部の属性変更操作が自動的に実行されます。 - -3. **複数ルールのサポート**:1つのフォームに複数のリンクルールを設定できます。複数のルール条件が同時に満たされる場合、システムはルールの順序に従って前から後ろへ結果を実行します。 - -4. **ルール管理**:カスタム名の設定、並び替え、削除、有効化、無効化、コピーなどの機能をサポートします。 - -5. **定数/変数のサポート**:フィールドの値設定や条件設定において、定数または変数を使用できます。変数の内容については、[変数](/handbook/ui/variables)を参照してください。 - -### 値の設定 - -例:予測された年次購入額に基づいて、顧客のレベルを自動的に評価し設定します(例:A+、A、A-)。 - -- 年次購入額が20,000を超える場合、顧客レベルはA+です。 - -![20240408102241](https://static-docs.nocobase.com/20240408102241.png) - -- 年次購入額が10,000を超え20,000以下の場合、顧客レベルはAです。 - -![20240408102303](https://static-docs.nocobase.com/20240408102303.png) - -- 年次購入額が10,000未満の場合、顧客レベルはA-です。 - -![20240408102324](https://static-docs.nocobase.com/20240408102324.png) - -### 必須項目 - -例:プロモーションの有無に基づいて、商品プロモーション価格の必須入力を制御します。 - -- プロモーションがtrueの場合、プロモーション価格は必須です。 - -![20240408105031](https://static-docs.nocobase.com/20240408105031.png) - -- プロモーションがfalseの場合、プロモーション価格は必須ではありません。 - -![20240408105115](https://static-docs.nocobase.com/20240408105115.png) - -### 表示/非表示 - -例:プロモーションの有無に基づいて、プロモーション価格入力ボックスの表示を制御します。 - -- プロモーションがtrueの場合、プロモーション価格は表示され、必須です。 - -![20240408115240](https://static-docs.nocobase.com/20240408115240.png) - -- プロモーションがfalseの場合、プロモーション価格は非表示で、必須ではありません。 - -![20240408115338](https://static-docs.nocobase.com/20240408115338.png) - diff --git a/docs/ja-JP/handbook/ui/blocks/data-blocks/details.md b/docs/ja-JP/handbook/ui/blocks/data-blocks/details.md index bd2485549b..70d7f56ed0 100644 --- a/docs/ja-JP/handbook/ui/blocks/data-blocks/details.md +++ b/docs/ja-JP/handbook/ui/blocks/data-blocks/details.md @@ -1,8 +1,8 @@ # 詳細ブロック -## 紹介 +## イントロダクション -詳細ブロックは、各データ項目のフィールド値を詳細に表示するために使用されます。柔軟なフィールドレイアウトをサポートし、さまざまなデータ操作が組み込まれています。 +詳細ブロックは、各データの各フィールドの値を詳細に表示するために使用されます。柔軟なフィールドレイアウトをサポートし、複数のデータ操作が組み込まれています。 ## ブロックの追加 @@ -16,50 +16,50 @@ ### データ範囲の設定 -例:出荷済みの注文のみを表示 +例:発送済みの注文のみを表示 ![20240417122910](https://static-docs.nocobase.com/20240417122910.png) -詳細は [データ範囲の設定](/handbook/ui/blocks/block-settings/data-scope) をご覧ください。 +その他の詳細については、[データ範囲の設定](/handbook/ui/blocks/block-settings/data-scope)を参照してください。 ### ソートルールの設定 ![20240417123300](https://static-docs.nocobase.com/20240417123300.png) -詳細は [ソートルール](/handbook/ui/blocks/block-settings/sorting-rule) をご覧ください。 +その他の詳細については、[ソートルール](/handbook/ui/blocks/block-settings/sorting-rule)を参照してください。 -- [データ読み込み方法の設定](/handbook/ui/blocks/block-settings/loading-mode) -- [ブロックテンプレートとして保存](/handbook/block-template) +- [データの読み込み方法の設定](/handbook/ui/blocks/block-settings/loading-mode) +- [ブロックをテンプレートとして保存](/handbook/block-template) ### 連動ルール -詳細ブロック内の連動ルールは、フィールドの表示/非表示を動的に設定することをサポートしています。 +詳細ブロックでの連動ルールは、フィールドの表示/非表示を動的に設定することをサポートします。 例:受取日が出荷日より早い場合、出荷日を非表示にします。 ![20240511115156](https://static-docs.nocobase.com/20240511115156.png) -詳細は [連動ルール](/handbook/ui/blocks/block-settings/linkage-rule) をご覧ください。 +その他の詳細については、[連動ルール](/handbook/ui/blocks/block-settings/field-linkage-rule)を参照してください。 -### ブロックの高さの設定 +### ブロック高さの設定 例:注文詳細ブロックの高さを「全高」モードに設定します。 ![20240604232307](https://static-docs.nocobase.com/20240604232307.gif) -詳細は [ブロックの高さ](/handbook/ui/blocks/block-settings/block-height) をご覧ください。 +その他の詳細については、[ブロック高さ](/handbook/ui/blocks/block-settings/block-height)を参照してください。 ## フィールドの設定 -### このコレクションのフィールド +### 本表フィールド ![20240417213735](https://static-docs.nocobase.com/20240417213735.png) -### 関連テーブルのフィールド +### 関連テーブルフィールド ![20240417214006](https://static-docs.nocobase.com/20240417214006.png) -詳細フィールドの設定項目については、[詳細フィールド](/handbook/ui/fields/generic/detail-form-item) をご覧ください。 +詳細フィールドの設定項目については、[詳細フィールド](/handbook/ui/fields/generic/detail-form-item)を参照してください。 ## 操作の設定 @@ -71,4 +71,3 @@ - [レコードの更新](/handbook/ui/actions/types/update-record) - [カスタムリクエスト](/handbook/action-custom-request) - [ワークフローのトリガー](/handbook/workflow/manual/triggers/custom-action) - diff --git a/docs/ja-JP/handbook/ui/blocks/data-blocks/form.md b/docs/ja-JP/handbook/ui/blocks/data-blocks/form.md index 604199be00..6a5a6e43a1 100644 --- a/docs/ja-JP/handbook/ui/blocks/data-blocks/form.md +++ b/docs/ja-JP/handbook/ui/blocks/data-blocks/form.md @@ -20,7 +20,7 @@ ![20240416220254](https://static-docs.nocobase.com/20240416220254.png) -詳細については、[連動ルール](/handbook/ui/blocks/block-settings/linkage-rule)を参照してください。 +詳細については、[連動ルール](/handbook/ui/blocks/block-settings/field-linkage-rule)を参照してください。 ### フォームデータテンプレート(新規データのフォームのみサポート) diff --git a/docs/ja-JP/handbook/ui/blocks/filter-blocks/form.md b/docs/ja-JP/handbook/ui/blocks/filter-blocks/form.md index 4e4f673d06..db3f69d3b1 100644 --- a/docs/ja-JP/handbook/ui/blocks/filter-blocks/form.md +++ b/docs/ja-JP/handbook/ui/blocks/filter-blocks/form.md @@ -25,7 +25,7 @@ 詳細については、[データブロックの接続](/handbook/ui/blocks/block-settings/connect-block)を参照してください。 - [ブロックタイトルの編集](/handbook/ui/blocks/block-settings/block-title) -- [連動ルール](/handbook/ui/blocks/block-settings/linkage-rule) +- [連動ルール](/handbook/ui/blocks/block-settings/field-linkage-rule) - [ブロックテンプレートとして保存](/handbook/block-template) ## フィールド設定 diff --git a/docs/ja-JP/handbook/ui/fields/field-settings/style.md b/docs/ja-JP/handbook/ui/fields/field-settings/style.md index 2bbc604b5b..c106ff1de9 100644 --- a/docs/ja-JP/handbook/ui/fields/field-settings/style.md +++ b/docs/ja-JP/handbook/ui/fields/field-settings/style.md @@ -1,22 +1,30 @@ -# スタイルの設定 +# スタイル設定 -## 紹介 +## イントロダクション +フィールドスタイルの連動ルールは、ユーザーインタラクションの体験を向上させる重要なツールです。動的なスタイル設定を使用することで、ブロックの視覚効果を強化し、ユーザーが重要な情報をより迅速に識別できるようになります。 +主に以下のスタイルが含まれます: -ユーザーはスタイルメニューを使用してフィールドのスタイルを調整できます(現在は色と背景色の設定がサポートされています)。また、フィールドの値やシステム変数の値に基づいて動的にスタイルを変更することも可能です。 +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` + +これらは、フィールドの状態に基づいて重要な情報をハイライトしたり、異常を通知したり、視覚的なガイドを提供するために一般的に使用されます。 ## 使用方法 -例えば、銀行取引明細表に取引金額の列があるとします。正の数(収入)を緑色に、負の数(支出)を赤色に設定する場合、以下の手順を実行します。 +例:注文金額に応じて、注文金額フィールドの色を動的に変更します。注文金額が1000を超える場合、色を緑に設定し、1000以下の場合は赤に設定します。 + +![20250418171434](https://static-docs.nocobase.com/20250418171434.png) -1. まず、取引金額のフィールド設定メニューを開き、スタイルをクリックします。 -![style-menu-2024-08-08-18-23-13](https://static-docs.nocobase.com/style-menu-2024-08-08-18-23-13.png) +- ルール1:条件が**注文金額が10000より大きい**場合、フィールドの色を緑に設定します。 -2. 「動的ルールを追加」をクリックし、最初のルールを設定します。取引金額が0より大きい場合、フィールドの色を緑色に設定します。 -![style-green-2024-08-08-18-33-34](https://static-docs.nocobase.com/style-green-2024-08-08-18-33-34.png) +![20250418171640](https://static-docs.nocobase.com/20250418171640.png) -3. 再度「動的ルールを追加」をクリックし、2つ目のルールを設定します。取引金額が0より小さい場合、フィールドの色を赤色に設定します。 -![style-red-2024-08-08-18-35-01](https://static-docs.nocobase.com/style-red-2024-08-08-18-35-01.png) +- ルール2:条件が**注文金額が1000以下**の場合、フィールドの色を赤に設定します。 -最終的な効果は以下の通りです。 -![result-2024-08-08-18-38-05](https://static-docs.nocobase.com/result-2024-08-08-18-38-05.png) +![20250418171900](https://static-docs.nocobase.com/20250418171900.png) +その他の詳細については、[連動ルール](/handbook/ui/linkage-rule)を参照してください。 diff --git a/docs/ja-JP/handbook/ui/fields/specific/nester.md b/docs/ja-JP/handbook/ui/fields/specific/nester.md index 397ef80732..78bd019fad 100644 --- a/docs/ja-JP/handbook/ui/fields/specific/nester.md +++ b/docs/ja-JP/handbook/ui/fields/specific/nester.md @@ -37,5 +37,5 @@ NocoBase v1.3.17-beta 以上のバージョンが必要です。 ![20240906083737_rec_](https://static-docs.nocobase.com/20240906083737_rec_.gif) -詳細は [リンクルール](/handbook/ui/blocks/block-settings/linkage-rule) を参照してください。 +詳細は [リンクルール](/handbook/ui/blocks/block-settings/field-linkage-rule) を参照してください。 diff --git a/docs/ja-JP/handbook/ui/fields/specific/popover-nester.md b/docs/ja-JP/handbook/ui/fields/specific/popover-nester.md index 8fd2f31804..e08c6ca96d 100644 --- a/docs/ja-JP/handbook/ui/fields/specific/popover-nester.md +++ b/docs/ja-JP/handbook/ui/fields/specific/popover-nester.md @@ -43,5 +43,5 @@ NocoBase v1.3.17-beta 以上が必要です。 ![20240906085955_rec_](https://static-docs.nocobase.com/20240906085955_rec_.gif) -詳細は [リンクルール](/handbook/ui/blocks/block-settings/linkage-rule) をご参照ください。 +詳細は [リンクルール](/handbook/ui/blocks/block-settings/field-linkage-rule) をご参照ください。 diff --git a/docs/ja-JP/handbook/ui/fields/specific/sub-detail.md b/docs/ja-JP/handbook/ui/fields/specific/sub-detail.md index 019f3e559c..a05655e07d 100644 --- a/docs/ja-JP/handbook/ui/fields/specific/sub-detail.md +++ b/docs/ja-JP/handbook/ui/fields/specific/sub-detail.md @@ -39,5 +39,5 @@ NocoBase v1.3.17-beta 以上のバージョンが必要です。 ![20240906090603_rec_](https://static-docs.nocobase.com/20240906090603_rec_.gif) -詳細については [リンク規則](/handbook/ui/blocks/block-settings/linkage-rule) を参照してください。 +詳細については [リンク規則](/handbook/ui/blocks/block-settings/field-linkage-rule) を参照してください。 diff --git a/docs/ja-JP/handbook/ui/fields/specific/sub-table.md b/docs/ja-JP/handbook/ui/fields/specific/sub-table.md index a83b32a50c..689b073fbc 100644 --- a/docs/ja-JP/handbook/ui/fields/specific/sub-table.md +++ b/docs/ja-JP/handbook/ui/fields/specific/sub-table.md @@ -47,7 +47,7 @@ NocoBase v1.3.17-beta 以上が必要です。 ![20240906084911_rec_](https://static-docs.nocobase.com/20240906084911_rec_.gif) -詳細については、[連動規則](/handbook/ui/blocks/block-settings/linkage-rule)をご参照ください。 +詳細については、[連動規則](/handbook/ui/blocks/block-settings/field-linkage-rule)をご参照ください。 ### 允许解除已有数据关联 diff --git a/docs/ja-JP/handbook/ui/linkage-rule.md b/docs/ja-JP/handbook/ui/linkage-rule.md new file mode 100644 index 0000000000..d8c2987dce --- /dev/null +++ b/docs/ja-JP/handbook/ui/linkage-rule.md @@ -0,0 +1,128 @@ +# リンク規則 + +## イントロダクション + +NocoBaseにおけるリンク規則は、フロントエンドのインターフェース要素のインタラクション動作を制御するためのメカニズムです。ユーザーは、異なる条件に基づいてインターフェース内のブロック、フィールド、操作の表示や動作ロジックを調整し、柔軟でローコードのインタラクション体験を実現できます。この機能は継続的に改善されています。 + +リンク規則を構成することで、以下のようなことが可能になります: + +- 現在のユーザーの役割に応じて、特定のブロックを非表示にする/表示する。異なる役割ごとに表示されるデータ範囲を異なるブロックに分け、例えば管理者はすべての情報を表示し、一般ユーザーは基本情報のみを表示する。 +- フォームで特定のオプションを選択した際に、他のフィールドの値を自動で入力したりリセットしたりする。 +- フォームで特定のオプションを選択した際に、いくつかの入力項目を無効化する。 +- 条件に基づいてフィールドの背景色、フォントサイズ、フォントの太さなどを設定し、特定の条件を満たした際にフィールドをハイライトする。 +- 特定の条件下で操作ボタンの表示/非表示やクリック可能/不可能を制御する。 + +## 条件設定 + +![20250417214217](https://static-docs.nocobase.com/20250417214217.png) +### 左側の変数 + +条件の左側の変数は、リンク規則内で「判断対象」となるオブジェクトを定義するために使用されます。つまり、この変数の値を基に条件を判断し、リンク動作をトリガーするかどうかを決定します。 + +選択可能な変数には以下が含まれます: + +- コンテキスト内のフィールド、例: `「現在のフォーム/xxx」`、`「現在のレコード/xxx」`、`「現在のポップアップレコード/xxx」` など +- システム全体の変数、例: `現在のユーザー`、`現在の役割` など。これらは、ユーザーの役職や権限情報に基づいて動的に制御する際に使用されます。 + > ✅ 左側の変数として選択できるものは、ブロックのコンテキストによって決まります。ビジネスニーズに応じて左側の変数を適切に使用することが重要です: + > + > - 「現在のユーザー」:現在のログインユーザー情報を表します。 + > - 「現在のフォーム」:フォームでリアルタイムに入力される値を表します。 + > - 「現在のレコード」:保存されたレコードの値、例えばテーブルの行の記録などを表します。 + +### 演算子 + +演算子は、条件判断のロジックを設定するために使用されます。つまり、左側の変数と右側の値をどのように比較するかを決定します。異なるタイプの左側変数には異なる演算子が対応しており、代表的なものは以下の通りです: + +- **テキスト型**:`$includes`、`$eq`、`$ne`、`$empty`、`$notEmpty` など +- **数値型**:`$eq`、`$gt`、`$lt`、`$gte`、`$lte` など +- **ブール型**:`$isTruly`、`$isFalsy` +- **配列型**:`$match`、`$anyOf`、`$empty`、`$notEmpty` など + +> ✅ システムは左側の変数のタイプに基づいて自動的に使用可能な演算子を推奨し、論理設定が正しいことを保証します。 + +### 右側の値 + +左側の変数と比較するために使用される、条件が成立するかどうかを判断する参照値です。 + +サポートされる内容は以下を含みます: + +- 定数値:固定の数値、テキスト、日付などを入力する。 +- コンテキスト変数:現在のフォームの他のフィールド、現在のレコードなど。 +- システム変数:現在のユーザー、現在の時間、現在の役割など。 + +> ✅ システムは左側の変数のタイプに基づいて、右側の入力方法を自動的に適応します。例えば: +> +> - 左側が「選択フィールド」の場合、対応する選択肢の選択器が表示されます。 +> - 左側が「日付フィールド」の場合、日付選択器が表示されます。 +> - 左側が「テキストフィールド」の場合、テキスト入力ボックスが表示されます。 + +> 💡 右側の値(特に動的変数)を柔軟に使用することで、現在のユーザー、データ状態、コンテキストに基づくリンクロジックを構築し、より強力なインタラクション体験を実現できます。 + +## 規則の実行ロジック + +### 条件のトリガー + +規則内の条件が満たされると(必須ではない)、下記の属性変更操作が自動で実行されます。条件が設定されていない場合、規則は常に満たされていると見なされ、属性変更操作が自動で実行されます。 + +### 複数の規則 + +1つのフォームに対して複数のリンク規則を設定することができます。複数の規則条件が同時に満たされると、システムは規則の順番に従って結果を実行します。つまり、最後の結果が実行基準となります。 + +例:規則1でフィールドを「無効」に設定し、規則2でフィールドを「編集可能」に設定した場合、両方の条件が満たされるとフィールドは「編集可能」状態になります。 + +> 複数の規則の実行順序は非常に重要です。規則を設計する際には、優先順位や相互関係を明確にして、規則の衝突を避けるようにしてください。 + +## 規則の管理 + +各規則に対して以下の操作が可能です: + +- カスタム命名:規則に理解しやすい名前を付け、管理および識別を容易にする。 +- 並べ替え:規則の実行優先順位に基づいて順序を調整し、システムが正しい順序で規則を処理できるようにする。 +- 削除:不要な規則を削除する。 +- 有効化/無効化:規則を一時的に無効化し、削除せずに特定の条件下で一時的に規則を停止する。 +- 規則のコピー:既存の規則をコピーして新しい規則を作成し、重複した設定を避ける。 + +## 変数について + +フィールドの値設定および条件設定では、定数の使用だけでなく、変数の使用もサポートしています。変数リストは異なるブロックの位置によって異なり、変数を適切に選択して使用することで、ビジネスニーズに柔軟に対応できます。変数に関する詳細は[変数](/handbook/ui/variables)をご覧ください。 + +## ブロックリンク規則(機能は近日公開) + +> **注意**: この機能は**v1.7.0-beta.xxバージョン以降でサポートされています** + +ブロックリンク規則は、システム変数(例えば現在のユーザーや現在の役割)またはコンテキスト環境変数(例えば現在のポップアップレコードなど)に基づいて、ブロックの表示を動的に制御することを可能にします。例えば、管理者は注文情報全体を表示でき、一般ユーザーは特定の注文情報のみを表示できるようになります。2つの注文ブロックを構成し、ブロックリンク規則を設定することで、この効果を実現できます。 + +👉 詳細については:[ブロック/ブロックリンク規則](/handbook/ui/blocks/block-settings/block-linkage-rule)を参照してください。 + +## フィールドリンク規則 + +フィールドリンク規則は、ユーザーの操作に基づいてフォームまたは詳細ブロック内のフィールドの状態を動的に調整します。主に以下の操作が可能です: + +- フィールドの **表示/非表示** +- フィールドを **必須** に設定 +- **値の設定** +- オプションフィールドの **オプション範囲** の設定 +- 時間フィールドの **選択可能な時間範囲** の設定 + +👉 詳細については:[ブロック/フィールドリンク規則](/handbook/ui/blocks/block-settings/field-linkage-rule)を参照してください。 + +## 操作リンク規則 + +操作リンク規則は、現在のレコード値やシステム変数を使って操作の動作(表示/無効化など)を制御します。 + +👉 詳細については:[操作/リンク規則](/handbook/ui/actions/action-settings/linkage-rule)を参照してください。 + +## フィールドスタイルリンク規則 + +フィールドスタイルリンク規則は、条件に基づいてフィールドのスタイル属性を動的に設定することを可能にします。主に以下のスタイル属性を設定できます: + +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` + +フィールドの状態に基づいて重要な情報をハイライトしたり、異常を示したり、視覚的に誘導するために使用されます。 + +👉 詳細については:[フィールド/スタイル](/handbook/ui/fields/field-settings/style)を参照してください。 diff --git a/docs/zh-CN/handbook/block-multi-step-from/index.md b/docs/zh-CN/handbook/block-multi-step-from/index.md index 7512ae6cfa..7b1674e6ff 100644 --- a/docs/zh-CN/handbook/block-multi-step-from/index.md +++ b/docs/zh-CN/handbook/block-multi-step-from/index.md @@ -22,7 +22,7 @@ ![](https://static-docs.nocobase.com/202410101717884.png) -更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) ### 设置区块高度 diff --git a/docs/zh-CN/handbook/block-tree/index.md b/docs/zh-CN/handbook/block-tree/index.md index bf88b383bd..fa57ebad55 100644 --- a/docs/zh-CN/handbook/block-tree/index.md +++ b/docs/zh-CN/handbook/block-tree/index.md @@ -27,7 +27,7 @@ 更多内容参考 [连接数据区块](/handbook/ui/blocks/block-settings/connect-block) - [编辑区块标题](/handbook/ui/blocks/block-settings/block-title) -- [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +- [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) - [保存为区块模板](/handbook/block-template) ## 配置字段 diff --git a/docs/zh-CN/handbook/calendar/index.md b/docs/zh-CN/handbook/calendar/index.md index a0915eb590..6e74764a31 100644 --- a/docs/zh-CN/handbook/calendar/index.md +++ b/docs/zh-CN/handbook/calendar/index.md @@ -12,13 +12,16 @@ ## 添加区块 +![20250403220300](https://static-docs.nocobase.com/20250403220300.png) + +1. 标题字段: 用于显示在日历条形上的信息;目前支持`input`, `select`, `phone`, `email`, `radioGroup`,`sequence` 类等型字段,可以通过插件扩展日历区块支持的标题字段类型。 +2. 开始时间: 任务的开始时间; +3. 结束时间: 任务的结束时间; + -1. 标题字段: 用于显示在日历条形上的信息; -2. 开始时间: 任务的开始时间; -3. 结束时间: 任务的结束时间; 点击任务条,同一任务条高亮,并弹出弹窗。 diff --git a/docs/zh-CN/handbook/localization-management/index.md b/docs/zh-CN/handbook/localization-management/index.md index fd5c5492de..99a998efe8 100644 --- a/docs/zh-CN/handbook/localization-management/index.md +++ b/docs/zh-CN/handbook/localization-management/index.md @@ -20,6 +20,9 @@ +### UISchema 中的词条 + + ### 同步翻译词条 diff --git a/docs/zh-CN/handbook/ui/actions/action-settings/affter-successful.md b/docs/zh-CN/handbook/ui/actions/action-settings/affter-successful.md index 298b2f0c80..7f167951b9 100644 --- a/docs/zh-CN/handbook/ui/actions/action-settings/affter-successful.md +++ b/docs/zh-CN/handbook/ui/actions/action-settings/affter-successful.md @@ -22,3 +22,14 @@ 3. 点击“确定”按钮,完成配置。 ![428388359-4c20f495-619e-4392-95e3-eea2b6085a50](https://static-docs.nocobase.com/428388359-4c20f495-619e-4392-95e3-eea2b6085a50.gif) + + +### 跳转到指定路由 + +表单中的`提交`按钮,在提交成功后支持根据响应结果中的记录值,动态传入作为路由跳转的变量。 + +![20250405162542](https://static-docs.nocobase.com/20250405162542.png) + +可以将响应结果记录作为变量传入路径 +如下示例:创建记录提交成功后跳转至记录的详情页 +![20250405162732](https://static-docs.nocobase.com/20250405162732.png) diff --git a/docs/zh-CN/handbook/ui/actions/action-settings/edit-button.md b/docs/zh-CN/handbook/ui/actions/action-settings/edit-button.md index ced1d43ffd..5231560d12 100644 --- a/docs/zh-CN/handbook/ui/actions/action-settings/edit-button.md +++ b/docs/zh-CN/handbook/ui/actions/action-settings/edit-button.md @@ -2,8 +2,8 @@ ## 介绍 -可自定义按钮名称、图标和按钮背景颜色,可选择默认、高亮或红色三种颜色之一。 +可自定义按钮名称、图标和按钮背景颜色,可选择默认、高亮或红色三种颜色之一,当设置了图标时支持仅显示图标。 -![20240413093715](https://static-docs.nocobase.com/20240413093715.png) +![20250405140611](https://static-docs.nocobase.com/20250405140611.png) -![20240413093745](https://static-docs.nocobase.com/20240413093745.png) \ No newline at end of file +![20250405140640](https://static-docs.nocobase.com/20250405140640.png) \ No newline at end of file diff --git a/docs/zh-CN/handbook/ui/actions/action-settings/linkage-rule.md b/docs/zh-CN/handbook/ui/actions/action-settings/linkage-rule.md index 8e40bc82c1..89197fd072 100644 --- a/docs/zh-CN/handbook/ui/actions/action-settings/linkage-rule.md +++ b/docs/zh-CN/handbook/ui/actions/action-settings/linkage-rule.md @@ -2,35 +2,51 @@ ## 介绍 -操作的联动规则基于上下文数据配置条件和执行结果。通过配置操作的联动规则,控制操作的状态(显示、隐藏、启用、禁用)。 +操作联动规则允许用户根据特定条件动态控制操作的状态(如显示、启用、隐藏、禁用等)。通过配置这些规则,用户能够实现操作按钮行为与当前记录、用户角色或上下文数据建立联动。自 `v1.7.0-beta.19` 版本起,全局按钮均支持配置联动规则。 + +> **注意**: 操作联动规则暂不支持直接与表单值联动,因此无法基于当前表单中的字段值进行条件判断(即不支持使用当前表单变量)。目前,操作的联动规则支持基于其他上下文数据或系统变量来控制操作的显示、启用、禁用等状态。 ![20240423113057](https://static-docs.nocobase.com/20240423113057.png) ## 使用说明 -![20240413102150](https://static-docs.nocobase.com/20240413102150.png) +![20250418152329](https://static-docs.nocobase.com/20250418152329.png) + +满足条件时(无条件默认通过),触发执行属性设置,支持在条件判断中使用常量/变量, + +## 常量 + +示例:仅待处理的订单支持编辑。 + +![20250418150033](https://static-docs.nocobase.com/20250418150033.png) + +## 变量 + +### 系统变量 -满足条件时(无条件默认通过),触发执行,支持在条件判断中使用常量/变量。 +示例1:订单日期晚于今天的订单删除按钮禁用。 -### 哪些按钮可以配置联动规则 +![20250418145825](https://static-docs.nocobase.com/20250418145825.png) -目前仅支持有数据上下文的的按钮配置联动规则。 +示例2: 订单区块表格头上的批量删除按钮仅限管理员角色使用,其他角色无法执行该操作。 -表格、甘特图等区块的行按钮; +![20250418150637](https://static-docs.nocobase.com/20250418150637.png) -详情区块的按钮; +![20250418150826](https://static-docs.nocobase.com/20250418150826.png) +### 上下文变量 -### 常量 +示例:订单明细(关系区块)上的添加按钮仅在订单状态为「待支付」时启用,其他状态下按钮将被禁用。 -示例:已取消的订单隐藏复制按钮。 +![20250418145312](https://static-docs.nocobase.com/20250418145312.png) -![20240423113212](https://static-docs.nocobase.com/20240423113212.png) +![20250418150429](https://static-docs.nocobase.com/20250418150429.png) -### 变量 +更多关于变量内容参考 [变量](/handbook/ui/variables)。 -示例:收货日期晚于今天的订单删除按钮禁用。 +## RoadMap -![20240423113504](https://static-docs.nocobase.com/20240423113504.png) +- 计划或进行中 + - 操作联动规则支持当前表单 -更多关于变量内容参考 [变量](/handbook/ui/variables)。 \ No newline at end of file +更多联动规则说明参考[联动规则](/handbook/ui/linkage-rule) diff --git a/docs/zh-CN/handbook/ui/actions/permission.md b/docs/zh-CN/handbook/ui/actions/permission.md index ffe94c47b5..5c1031f542 100644 --- a/docs/zh-CN/handbook/ui/actions/permission.md +++ b/docs/zh-CN/handbook/ui/actions/permission.md @@ -4,7 +4,7 @@ 在 NocoBase 中,操作权限主要分为两类: -- **数据表资源权限**:用于统一控制不同角色对数据表的增(Create)、查(View)、改(Update)、删(Delete)等基础操作权限。该权限作用于数据源下的整个数据表,确保角色在不同页面或弹窗中不同区块对该表的相应操作保持一致。 +- **数据表资源权限**:用于统一控制不同角色对数据表的增(Create)、查(View)、改(Update)、删(Delete)等基础操作权限。该权限作用于数据源下的整个数据表,确保角色在不同页面或弹窗中不同区块对该表的相应操作保持一致权限。 - **操作独立权限**:用于细化控制不同角色可见的操作,适用于特定操作的权限管理,例如 触发工作流、自定义请求、外部链接 等。这种权限适用于操作级的权限控制,使不同角色可以执行特定的操作,而无需影响整个数据表的权限配置。 ### 数据表资源权限 diff --git a/docs/zh-CN/handbook/ui/blocks/block-settings/block-linkage-rule.md b/docs/zh-CN/handbook/ui/blocks/block-settings/block-linkage-rule.md new file mode 100644 index 0000000000..5aba36a4f0 --- /dev/null +++ b/docs/zh-CN/handbook/ui/blocks/block-settings/block-linkage-rule.md @@ -0,0 +1,16 @@ +# 区块联动规则(功能待发布) + +> **注意**: 该功能**从v1.7.0-beta.xx版本起支持** + +区块联动规则允许用户动态控制区块的显示,如 当满足某个条件时隐藏某个区块 + +### 全局变量控制区块 +如「当前角色」 + + + +### 上下文变量控制区块 +当区块在上下文中能获取到相应记录时也可以通过上下变量控制区块的显示 +如「当前记录」,「当前表单」、「当前弹窗记录」等 + +更多联动规则说明参考 [联动规则](/handbook/ui/linkage-rule) diff --git a/docs/zh-CN/handbook/ui/blocks/block-settings/field-linkage-rule.md b/docs/zh-CN/handbook/ui/blocks/block-settings/field-linkage-rule.md new file mode 100644 index 0000000000..10da737201 --- /dev/null +++ b/docs/zh-CN/handbook/ui/blocks/block-settings/field-linkage-rule.md @@ -0,0 +1,79 @@ +# 字段联动规则 + +## 介绍 + +字段联动规则是指允许根据用户的行为动态调整表单/详情区块字段的状态,目前支持字段联动规则的区块包括: + +- [表单区块](/handbook/ui/blocks/data-blocks/form#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [详情区块](/handbook/ui/blocks/data-blocks/details#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99) +- [子表单](/handbook/ui/fields/specific/nester)(需 v1.3.17-beta 及以上版本) +- [子表格](/handbook/ui/fields/specific/sub-table)(需 v1.3.17-beta 及以上版本) + +## 使用说明 + +#### **表单区块中的联动规则** + +在表单区块中,联动规则可根据特定条件动态调整字段的行为: + +- **控制字段的显示/隐藏**:根据其他字段的值来决定当前字段是否显示。 +- **设置字段是否必填**:在特定条件下,动态设置字段为必填或非必填。 +- **赋值**:根据条件自动为字段赋值。 +- **配置选项字段的选项范围**:根据条件动态更新下拉选项的可选范围。 +- **限定时间字段的可选时间范围**:在时间字段中,依据其他字段的值限定可选的时间范围。 + +#### **详情区块中的联动规则** + +在详情区块中,联动规则主要用于动态控制详情区块上字段的显示和隐藏。 + +![20250418161037](https://static-docs.nocobase.com/20250418161037.png) + +### 赋值 + +示例:订单勾选为增补订单时,订单状态自动赋值为「待审核」。 + +![20250418161712](https://static-docs.nocobase.com/20250418161712.png) + +### 必填 + +示例: 订单状态为「待支付」时,订单金额必填。 + +![20250418163252](https://static-docs.nocobase.com/20250418163252.png) + +### 显示/隐藏 + +示例: 仅订单状态为「待支付」时才显示支付方式。 + +![20250418163733](https://static-docs.nocobase.com/20250418163733.png) + +### 选项 + +> **注意**: 该功能**从v1.7.0-beta.2版本起支持** + +支持为`select`, `radioGroup`, `multipleSelect`, `checkboxGroup`等类型的字段动态的配置选项,其可选项可以根据表单中其他字段的变化实现联动。 + +示例:仅订单金额高于10000时可选择「分期付款」。 + +![20250418164806](https://static-docs.nocobase.com/20250418164806.png) + +联动效果如下 + + + +### 日期范围 + +> **注意**: 该功能**从v1.7.0-beta.2版本起支持** + +支持为`date`, `datetime`, `dateOnly`, `datetimeNoTz`, `unixTimestamp`, `createdAt`, `updatedAt`等类型字段动态配置日期范围,其可选日期范围可以根据表单中其他字段的变化自动调整。 + +示例:选择订单日期后,发货日期不能早于订单日期。 + +![20250418165500](https://static-docs.nocobase.com/20250418165500.png) + + +示例:交付日期 (Delivery Date) 不能早于今天且不能晚于订单截止日期 (Order Deadline)。 + +![20250418170520](https://static-docs.nocobase.com/20250418170520.png) + +更多联动规则说明参考 [联动规则](/handbook/ui/linkage-rule) diff --git a/docs/zh-CN/handbook/ui/blocks/block-settings/linkage-rule.md b/docs/zh-CN/handbook/ui/blocks/block-settings/linkage-rule.md deleted file mode 100644 index bc31c1721f..0000000000 --- a/docs/zh-CN/handbook/ui/blocks/block-settings/linkage-rule.md +++ /dev/null @@ -1,97 +0,0 @@ -# 联动规则 - -## 介绍 - -联动规则允许根据用户的行为动态调整表单字段的状态,例如:显示/隐藏、必填/非必填、赋值,选项字段的范围设置、时间字段的可选范围等。现在支持配置联动规则的有:[表单区块](https://docs-cn.nocobase.com/handbook/ui/blocks/data-blocks/form#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99)、[详情区块](https://docs-cn.nocobase.com/handbook/ui/blocks/data-blocks/details#%E8%81%94%E5%8A%A8%E8%A7%84%E5%88%99)、[操作按钮](https://docs-cn.nocobase.com/handbook/ui/actions/action-settings/linkage-rule)、[子表单](https://docs-cn.nocobase.com/handbook/ui/fields/specific/nester)(需 v1.3.17-beta 及以上版本)、[子表格](https://docs-cn.nocobase.com/handbook/ui/fields/specific/sub-table)(需 v1.3.17-beta 及以上版本)。 - -![20240408100711](https://static-docs.nocobase.com/20240408100711.png) - -![20240408100757](https://static-docs.nocobase.com/20240408100757.png) - -## 使用说明 - -1. 配置表单字段:所有在规则中使用的表单字段都需要配置出来,以确保规则的有效性和准确性。 - -2. 条件触发:当规则中的条件满足时(非必填),会自动执行下方的属性修改操作。 - -3. 支持多个规则:可以为一个表单配置多个联动规则,当同时符合多个规则条件时,系统会按照规则的先后顺序从前往后执行结果。 - -4. 规则管理:支持自定义命名、排序、删除、启用、禁用和复制规则。 - -5. 支持常量/变量:在字段赋值和条件配置中支持使用常量或变量,关于变量内容可参考 [变量](/handbook/ui/variables)。 - -### 赋值 - -示例:根据预计年采购额自动评估并设置客户的级别(例如:A+ 级、A 级、 A- 级)。 - -- 年采购额 大于 20000 客户级别为 A+。 - -![20240408102241](https://static-docs.nocobase.com/20240408102241.png) - -- 年采购额 大于 10000 客户级别小于等于20000为 A。 - -![20240408102303](https://static-docs.nocobase.com/20240408102303.png) - -- 年采购额 小于 10000 客户级别为 A-。 - -![20240408102324](https://static-docs.nocobase.com/20240408102324.png) - -### 必填 - -示例: 根据是否促销控制商品促销价格是否必填。 - -- 是否促销为 true ,促销价格必填。 - -![20240408105031](https://static-docs.nocobase.com/20240408105031.png) - -- 是否促销为 false ,促销价格非必填。 - -![20240408105115](https://static-docs.nocobase.com/20240408105115.png) - -### 显示/隐藏 - -示例: 根据是否促销控制促销价格输入框是否显示。 - -- 是否促销为 true,促销价格显示且必填。 - -![20240408115240](https://static-docs.nocobase.com/20240408115240.png) - -- 是否促销为 false,促销价格隐藏且非必填。 - -![20240408115338](https://static-docs.nocobase.com/20240408115338.png) - -### 选项 - -> **注意**: 该功能**从v1.7.0-beta.2版本起支持** - -支持为`select`, `radioGroup`, `multipleSelect`, `checkboxGroup`等类型的字段动态的配置选项,其可选项可以根据表单中其他字段的变化实现联动。 - -示例:在商品管理系统中,根据选择商品的主类别,控制子类别可选项。 - -- 主类别(Select):电子产品时,子类别可选项为手机、笔记本、耳机。 - -![20250313215730](https://static-docs.nocobase.com/20250313215730.png) - -- 主类别为家用电器,子类别可选项为空调、冰箱、洗衣机。 - -![20250313215834](https://static-docs.nocobase.com/20250313215834.png) - -联动效果如下 - - - -### 日期范围 - -> **注意**: 该功能**从v1.7.0-beta.2版本起支持** - -支持为`date`, `datetime`, `dateOnly`, `datetimeNoTz`, `unixTimestamp`, `createdAt`, `updatedAt`等类型字段动态配置日期范围,其可选日期范围可以根据表单中其他字段的变化自动调整。 - -示例:选择开始日期后,结束日期不能早于开始日期。 - -![20250313220839](https://static-docs.nocobase.com/20250313220839.png) - -示例:交付日期 (Delivery Date) 不能早于今天且不能晚于订单截止日期 (Order Deadline)。 - -![20250313222051](https://static-docs.nocobase.com/20250313222051.png) diff --git a/docs/zh-CN/handbook/ui/blocks/data-blocks/details.md b/docs/zh-CN/handbook/ui/blocks/data-blocks/details.md index 5cb0876bfa..7a17dcc521 100644 --- a/docs/zh-CN/handbook/ui/blocks/data-blocks/details.md +++ b/docs/zh-CN/handbook/ui/blocks/data-blocks/details.md @@ -39,7 +39,7 @@ ![20240511115156](https://static-docs.nocobase.com/20240511115156.png) -更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) ### 设置区块高度 diff --git a/docs/zh-CN/handbook/ui/blocks/data-blocks/form.md b/docs/zh-CN/handbook/ui/blocks/data-blocks/form.md index 256d4be9e9..b5685c8219 100644 --- a/docs/zh-CN/handbook/ui/blocks/data-blocks/form.md +++ b/docs/zh-CN/handbook/ui/blocks/data-blocks/form.md @@ -20,7 +20,7 @@ ![20240416220254](https://static-docs.nocobase.com/20240416220254.png) -更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) ### 表单数据模板(仅支持新增数据的表单) diff --git a/docs/zh-CN/handbook/ui/blocks/filter-blocks/form.md b/docs/zh-CN/handbook/ui/blocks/filter-blocks/form.md index 848da784c9..10d42f905d 100644 --- a/docs/zh-CN/handbook/ui/blocks/filter-blocks/form.md +++ b/docs/zh-CN/handbook/ui/blocks/filter-blocks/form.md @@ -25,7 +25,7 @@ 更多内容参考 [连接数据区块](/handbook/ui/blocks/block-settings/connect-block) - [编辑区块标题](/handbook/ui/blocks/block-settings/block-title) -- [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +- [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) - [保存为区块模板](/handbook/block-template) ## 配置字段 diff --git a/docs/zh-CN/handbook/ui/fields/field-settings/style.md b/docs/zh-CN/handbook/ui/fields/field-settings/style.md index 334cb94f8c..ff7b00291a 100644 --- a/docs/zh-CN/handbook/ui/fields/field-settings/style.md +++ b/docs/zh-CN/handbook/ui/fields/field-settings/style.md @@ -1,21 +1,30 @@ # 设置样式 ## 介绍 +字段样式的联动规则是提升用户交互体验的重要工具,通过动态样式配置,可以提升区块的视觉效果,帮助用户更快速地识别关键信息。 +主要包括: -用户可以在样式菜单中调整字段的样式(目前支持颜色和背景颜色设置),同时支持依据字段值或系统变量值动态调整。 +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` + +常用于根据字段状态高亮重点信息、提示异常或进行视觉引导。 ## 使用方法 -假设我们有一张银行交易明细表,有一列是交易金额,我们要把正数(收入)设置为绿色,负数(支出)设置为红色,以下是具体的操作步骤: +示例:根据订单金额的不同,将订单金额字段的颜色进行动态调整。当订单金额超过1000时,设置为绿色;当订单金额小于等于1000时,设置为红色。 + +![20250418171434](https://static-docs.nocobase.com/20250418171434.png) + +- 规则一,设置条件为**订单金额大于10000**时,字段颜色为绿色。 -1. 首先,打开交易金额的字段设置菜单,点击风格。 -![style-menu-2024-08-08-18-23-13](https://static-docs.nocobase.com/style-menu-2024-08-08-18-23-13.png) +![20250418171640](https://static-docs.nocobase.com/20250418171640.png) -2. 点击添加联动规则,设置第一个规则,当交易金额大于0时字段的颜色设置为绿色。 -![style-green-2024-08-08-18-33-34](https://static-docs.nocobase.com/style-green-2024-08-08-18-33-34.png) +- 规则二,设置条件为**订单金额小于等于1000**时,字段颜色为红色。 -3. 再次点击添加联动规则,设置第二个规则,当交易金额小于0时字段的颜色设置为红色。 -![style-red-2024-08-08-18-35-01](https://static-docs.nocobase.com/style-red-2024-08-08-18-35-01.png) +![20250418171900](https://static-docs.nocobase.com/20250418171900.png) -最终的效果如下 -![result-2024-08-08-18-38-05](https://static-docs.nocobase.com/result-2024-08-08-18-38-05.png) +更多联动规则说明参考 [联动规则](/handbook/ui/linkage-rule) diff --git a/docs/zh-CN/handbook/ui/fields/specific/nester.md b/docs/zh-CN/handbook/ui/fields/specific/nester.md index 69f7f49aa1..5132e769a6 100644 --- a/docs/zh-CN/handbook/ui/fields/specific/nester.md +++ b/docs/zh-CN/handbook/ui/fields/specific/nester.md @@ -38,4 +38,4 @@ ![20240906083737_rec_](https://static-docs.nocobase.com/20240906083737_rec_.gif) -更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) diff --git a/docs/zh-CN/handbook/ui/fields/specific/popover-nester.md b/docs/zh-CN/handbook/ui/fields/specific/popover-nester.md index 9392c5acb7..afb44948a4 100644 --- a/docs/zh-CN/handbook/ui/fields/specific/popover-nester.md +++ b/docs/zh-CN/handbook/ui/fields/specific/popover-nester.md @@ -43,4 +43,4 @@ ![20240906085955_rec_](https://static-docs.nocobase.com/20240906085955_rec_.gif) -更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) diff --git a/docs/zh-CN/handbook/ui/fields/specific/sub-detail.md b/docs/zh-CN/handbook/ui/fields/specific/sub-detail.md index 3afc129ad7..c82b4f19d6 100644 --- a/docs/zh-CN/handbook/ui/fields/specific/sub-detail.md +++ b/docs/zh-CN/handbook/ui/fields/specific/sub-detail.md @@ -39,4 +39,4 @@ ![20240906090603_rec_](https://static-docs.nocobase.com/20240906090603_rec_.gif) -更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) diff --git a/docs/zh-CN/handbook/ui/fields/specific/sub-table.md b/docs/zh-CN/handbook/ui/fields/specific/sub-table.md index afd0ac6718..310353779e 100644 --- a/docs/zh-CN/handbook/ui/fields/specific/sub-table.md +++ b/docs/zh-CN/handbook/ui/fields/specific/sub-table.md @@ -47,7 +47,7 @@ ![20240906084911_rec_](https://static-docs.nocobase.com/20240906084911_rec_.gif) -更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/linkage-rule) +更多内容参考 [联动规则](/handbook/ui/blocks/block-settings/field-linkage-rule) ### 允许解除已有数据关联 diff --git a/docs/zh-CN/handbook/ui/linkage-rule.md b/docs/zh-CN/handbook/ui/linkage-rule.md new file mode 100644 index 0000000000..d8c2987dce --- /dev/null +++ b/docs/zh-CN/handbook/ui/linkage-rule.md @@ -0,0 +1,128 @@ +# リンク規則 + +## イントロダクション + +NocoBaseにおけるリンク規則は、フロントエンドのインターフェース要素のインタラクション動作を制御するためのメカニズムです。ユーザーは、異なる条件に基づいてインターフェース内のブロック、フィールド、操作の表示や動作ロジックを調整し、柔軟でローコードのインタラクション体験を実現できます。この機能は継続的に改善されています。 + +リンク規則を構成することで、以下のようなことが可能になります: + +- 現在のユーザーの役割に応じて、特定のブロックを非表示にする/表示する。異なる役割ごとに表示されるデータ範囲を異なるブロックに分け、例えば管理者はすべての情報を表示し、一般ユーザーは基本情報のみを表示する。 +- フォームで特定のオプションを選択した際に、他のフィールドの値を自動で入力したりリセットしたりする。 +- フォームで特定のオプションを選択した際に、いくつかの入力項目を無効化する。 +- 条件に基づいてフィールドの背景色、フォントサイズ、フォントの太さなどを設定し、特定の条件を満たした際にフィールドをハイライトする。 +- 特定の条件下で操作ボタンの表示/非表示やクリック可能/不可能を制御する。 + +## 条件設定 + +![20250417214217](https://static-docs.nocobase.com/20250417214217.png) +### 左側の変数 + +条件の左側の変数は、リンク規則内で「判断対象」となるオブジェクトを定義するために使用されます。つまり、この変数の値を基に条件を判断し、リンク動作をトリガーするかどうかを決定します。 + +選択可能な変数には以下が含まれます: + +- コンテキスト内のフィールド、例: `「現在のフォーム/xxx」`、`「現在のレコード/xxx」`、`「現在のポップアップレコード/xxx」` など +- システム全体の変数、例: `現在のユーザー`、`現在の役割` など。これらは、ユーザーの役職や権限情報に基づいて動的に制御する際に使用されます。 + > ✅ 左側の変数として選択できるものは、ブロックのコンテキストによって決まります。ビジネスニーズに応じて左側の変数を適切に使用することが重要です: + > + > - 「現在のユーザー」:現在のログインユーザー情報を表します。 + > - 「現在のフォーム」:フォームでリアルタイムに入力される値を表します。 + > - 「現在のレコード」:保存されたレコードの値、例えばテーブルの行の記録などを表します。 + +### 演算子 + +演算子は、条件判断のロジックを設定するために使用されます。つまり、左側の変数と右側の値をどのように比較するかを決定します。異なるタイプの左側変数には異なる演算子が対応しており、代表的なものは以下の通りです: + +- **テキスト型**:`$includes`、`$eq`、`$ne`、`$empty`、`$notEmpty` など +- **数値型**:`$eq`、`$gt`、`$lt`、`$gte`、`$lte` など +- **ブール型**:`$isTruly`、`$isFalsy` +- **配列型**:`$match`、`$anyOf`、`$empty`、`$notEmpty` など + +> ✅ システムは左側の変数のタイプに基づいて自動的に使用可能な演算子を推奨し、論理設定が正しいことを保証します。 + +### 右側の値 + +左側の変数と比較するために使用される、条件が成立するかどうかを判断する参照値です。 + +サポートされる内容は以下を含みます: + +- 定数値:固定の数値、テキスト、日付などを入力する。 +- コンテキスト変数:現在のフォームの他のフィールド、現在のレコードなど。 +- システム変数:現在のユーザー、現在の時間、現在の役割など。 + +> ✅ システムは左側の変数のタイプに基づいて、右側の入力方法を自動的に適応します。例えば: +> +> - 左側が「選択フィールド」の場合、対応する選択肢の選択器が表示されます。 +> - 左側が「日付フィールド」の場合、日付選択器が表示されます。 +> - 左側が「テキストフィールド」の場合、テキスト入力ボックスが表示されます。 + +> 💡 右側の値(特に動的変数)を柔軟に使用することで、現在のユーザー、データ状態、コンテキストに基づくリンクロジックを構築し、より強力なインタラクション体験を実現できます。 + +## 規則の実行ロジック + +### 条件のトリガー + +規則内の条件が満たされると(必須ではない)、下記の属性変更操作が自動で実行されます。条件が設定されていない場合、規則は常に満たされていると見なされ、属性変更操作が自動で実行されます。 + +### 複数の規則 + +1つのフォームに対して複数のリンク規則を設定することができます。複数の規則条件が同時に満たされると、システムは規則の順番に従って結果を実行します。つまり、最後の結果が実行基準となります。 + +例:規則1でフィールドを「無効」に設定し、規則2でフィールドを「編集可能」に設定した場合、両方の条件が満たされるとフィールドは「編集可能」状態になります。 + +> 複数の規則の実行順序は非常に重要です。規則を設計する際には、優先順位や相互関係を明確にして、規則の衝突を避けるようにしてください。 + +## 規則の管理 + +各規則に対して以下の操作が可能です: + +- カスタム命名:規則に理解しやすい名前を付け、管理および識別を容易にする。 +- 並べ替え:規則の実行優先順位に基づいて順序を調整し、システムが正しい順序で規則を処理できるようにする。 +- 削除:不要な規則を削除する。 +- 有効化/無効化:規則を一時的に無効化し、削除せずに特定の条件下で一時的に規則を停止する。 +- 規則のコピー:既存の規則をコピーして新しい規則を作成し、重複した設定を避ける。 + +## 変数について + +フィールドの値設定および条件設定では、定数の使用だけでなく、変数の使用もサポートしています。変数リストは異なるブロックの位置によって異なり、変数を適切に選択して使用することで、ビジネスニーズに柔軟に対応できます。変数に関する詳細は[変数](/handbook/ui/variables)をご覧ください。 + +## ブロックリンク規則(機能は近日公開) + +> **注意**: この機能は**v1.7.0-beta.xxバージョン以降でサポートされています** + +ブロックリンク規則は、システム変数(例えば現在のユーザーや現在の役割)またはコンテキスト環境変数(例えば現在のポップアップレコードなど)に基づいて、ブロックの表示を動的に制御することを可能にします。例えば、管理者は注文情報全体を表示でき、一般ユーザーは特定の注文情報のみを表示できるようになります。2つの注文ブロックを構成し、ブロックリンク規則を設定することで、この効果を実現できます。 + +👉 詳細については:[ブロック/ブロックリンク規則](/handbook/ui/blocks/block-settings/block-linkage-rule)を参照してください。 + +## フィールドリンク規則 + +フィールドリンク規則は、ユーザーの操作に基づいてフォームまたは詳細ブロック内のフィールドの状態を動的に調整します。主に以下の操作が可能です: + +- フィールドの **表示/非表示** +- フィールドを **必須** に設定 +- **値の設定** +- オプションフィールドの **オプション範囲** の設定 +- 時間フィールドの **選択可能な時間範囲** の設定 + +👉 詳細については:[ブロック/フィールドリンク規則](/handbook/ui/blocks/block-settings/field-linkage-rule)を参照してください。 + +## 操作リンク規則 + +操作リンク規則は、現在のレコード値やシステム変数を使って操作の動作(表示/無効化など)を制御します。 + +👉 詳細については:[操作/リンク規則](/handbook/ui/actions/action-settings/linkage-rule)を参照してください。 + +## フィールドスタイルリンク規則 + +フィールドスタイルリンク規則は、条件に基づいてフィールドのスタイル属性を動的に設定することを可能にします。主に以下のスタイル属性を設定できます: + +- `color` +- `background-color` +- `text-align` +- `font-size` +- `font-weight` +- `font-style` + +フィールドの状態に基づいて重要な情報をハイライトしたり、異常を示したり、視覚的に誘導するために使用されます。 + +👉 詳細については:[フィールド/スタイル](/handbook/ui/fields/field-settings/style)を参照してください。