@blocklet/ui-react 3.2.19 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aigne/doc-smith/.local/afs-storage.sqlite3 +0 -0
- package/.aigne/doc-smith/history.yaml +5 -0
- package/.aigne/doc-smith/media-description.yaml +11 -0
- package/docs/assets/diagram/component-installer-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/component-installer-diagram-0.jpg +0 -0
- package/docs/assets/diagram/component-installer-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/component-installer-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/component-management-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/component-management-diagram-0.jpg +0 -0
- package/docs/assets/diagram/component-management-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/component-management-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/core-concepts-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/core-concepts-diagram-0.jpg +0 -0
- package/docs/assets/diagram/core-concepts-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/core-concepts-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/dashboard-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/dashboard-diagram-0.jpg +0 -0
- package/docs/assets/diagram/dashboard-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/dashboard-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/header-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/header-diagram-0.jpg +0 -0
- package/docs/assets/diagram/header-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/header-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/layout-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/layout-diagram-0.jpg +0 -0
- package/docs/assets/diagram/layout-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/layout-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/notifications-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/notifications-diagram-0.jpg +0 -0
- package/docs/assets/diagram/notifications-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/notifications-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/overview-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/overview-diagram-0.jpg +0 -0
- package/docs/assets/diagram/overview-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/overview-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/user-center-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/user-center-diagram-0.jpg +0 -0
- package/docs/assets/diagram/user-center-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/user-center-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/user-management-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/user-management-diagram-0.jpg +0 -0
- package/docs/assets/diagram/user-management-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/user-management-diagram-0.zh.jpg +0 -0
- package/docs/assets/diagram/user-sessions-diagram-0.ja.jpg +0 -0
- package/docs/assets/diagram/user-sessions-diagram-0.jpg +0 -0
- package/docs/assets/diagram/user-sessions-diagram-0.zh-TW.jpg +0 -0
- package/docs/assets/diagram/user-sessions-diagram-0.zh.jpg +0 -0
- package/docs/components-component-management-component-installer.ja.md +3 -77
- package/docs/components-component-management-component-installer.md +4 -78
- package/docs/components-component-management-component-installer.zh-TW.md +3 -77
- package/docs/components-component-management-component-installer.zh.md +3 -77
- package/docs/components-component-management.ja.md +3 -32
- package/docs/components-component-management.md +3 -32
- package/docs/components-component-management.zh-TW.md +3 -32
- package/docs/components-component-management.zh.md +3 -32
- package/docs/components-layout-dashboard.ja.md +3 -49
- package/docs/components-layout-dashboard.md +5 -49
- package/docs/components-layout-dashboard.zh-TW.md +3 -49
- package/docs/components-layout-dashboard.zh.md +3 -49
- package/docs/components-layout-header.ja.md +3 -53
- package/docs/components-layout-header.md +3 -53
- package/docs/components-layout-header.zh-TW.md +3 -53
- package/docs/components-layout-header.zh.md +3 -53
- package/docs/components-layout.ja.md +3 -22
- package/docs/components-layout.md +3 -22
- package/docs/components-layout.zh-TW.md +3 -22
- package/docs/components-layout.zh.md +3 -22
- package/docs/components-notifications.ja.md +3 -51
- package/docs/components-notifications.md +3 -51
- package/docs/components-notifications.zh-TW.md +3 -52
- package/docs/components-notifications.zh.md +3 -51
- package/docs/components-user-management-user-center.ja.md +3 -38
- package/docs/components-user-management-user-center.md +12 -48
- package/docs/components-user-management-user-center.zh-TW.md +3 -38
- package/docs/components-user-management-user-center.zh.md +3 -38
- package/docs/components-user-management-user-sessions.ja.md +3 -46
- package/docs/components-user-management-user-sessions.md +4 -45
- package/docs/components-user-management-user-sessions.zh-TW.md +3 -46
- package/docs/components-user-management-user-sessions.zh.md +3 -46
- package/docs/components-user-management.ja.md +3 -30
- package/docs/components-user-management.md +6 -31
- package/docs/components-user-management.zh-TW.md +3 -30
- package/docs/components-user-management.zh.md +3 -30
- package/docs/core-concepts.ja.md +3 -33
- package/docs/core-concepts.md +4 -33
- package/docs/core-concepts.zh-TW.md +3 -33
- package/docs/core-concepts.zh.md +3 -33
- package/docs/overview.ja.md +3 -43
- package/docs/overview.md +3 -43
- package/docs/overview.zh-TW.md +3 -43
- package/docs/overview.zh.md +3 -43
- package/package.json +10 -10
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
descriptions:
|
|
2
|
+
b64f0212be4c7f38dcd4cf260d4af6d23d7f9a011a091361e80b96ddda29e433:
|
|
3
|
+
path: ../src/UserCenter/assets/banner.png
|
|
4
|
+
description: This wide, abstract banner image features a dynamic arrangement of
|
|
5
|
+
numerous 3D cubes, rendered in soft pastel shades of blue, purple, pink,
|
|
6
|
+
and white, with subtle orange accents. The geometric forms are positioned
|
|
7
|
+
at varying heights and angles, creating a layered composition with gentle
|
|
8
|
+
light and shadow effects. This clean, modern graphic is ideal for use as a
|
|
9
|
+
header, banner, or decorative background in documentation.
|
|
10
|
+
generatedAt: 2025-12-05T01:26:47.959Z
|
|
11
|
+
lastUpdated: 2025-12-05T01:26:47.963Z
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -8,83 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
このコンポーネントのロジックは、子コンポーネントをレンダリングする前に依存関係が満たされていることを確認するため、明確で順次的なプロセスに従います。
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
start: {
|
|
15
|
-
label: "開始"
|
|
16
|
-
shape: oval
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
check_dependencies: {
|
|
20
|
-
label: "'did' プロパティで定義された依存関係を確認"
|
|
21
|
-
shape: rectangle
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
is_installed: {
|
|
25
|
-
label: "すべての依存関係はインストール済みか?"
|
|
26
|
-
shape: diamond
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
render_children: {
|
|
30
|
-
label: "子コンポーネントをレンダリング"
|
|
31
|
-
shape: rectangle
|
|
32
|
-
style.fill: "#d4edda"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
check_permission: {
|
|
36
|
-
label: "'roles' プロパティに対してユーザーのロールを確認"
|
|
37
|
-
shape: rectangle
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
has_permission: {
|
|
41
|
-
label: "ユーザーに権限があるか?"
|
|
42
|
-
shape: diamond
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
display_installer: {
|
|
46
|
-
label: "インストーラーUIを表示"
|
|
47
|
-
shape: rectangle
|
|
48
|
-
style.fill: "#cce5ff"
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
is_mute: {
|
|
52
|
-
label: "'noPermissionMute' プロパティは true か?"
|
|
53
|
-
shape: diamond
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
display_suggestion: {
|
|
57
|
-
label: "'管理者に連絡' の提案を表示"
|
|
58
|
-
shape: rectangle
|
|
59
|
-
style.fill: "#f8d7da"
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
render_fallback: {
|
|
63
|
-
label: "フォールバックコンポーネントまたは null をレンダリング"
|
|
64
|
-
shape: rectangle
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
end: {
|
|
68
|
-
label: "終了"
|
|
69
|
-
shape: oval
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
start -> check_dependencies
|
|
73
|
-
check_dependencies -> is_installed
|
|
74
|
-
is_installed -> render_children: "はい"
|
|
75
|
-
is_installed -> check_permission: "いいえ"
|
|
76
|
-
render_children -> end
|
|
77
|
-
|
|
78
|
-
check_permission -> has_permission
|
|
79
|
-
has_permission -> display_installer: "はい"
|
|
80
|
-
has_permission -> is_mute: "いいえ"
|
|
81
|
-
display_installer -> end
|
|
82
|
-
|
|
83
|
-
is_mute -> render_fallback: "はい"
|
|
84
|
-
is_mute -> display_suggestion: "いいえ"
|
|
85
|
-
render_fallback -> end
|
|
86
|
-
display_suggestion -> end
|
|
87
|
-
```
|
|
11
|
+
<!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
|
|
12
|
+

|
|
13
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
88
14
|
|
|
89
15
|
1. **依存関係のチェック**: `did` プロパティを読み取り、Blocklet のメタデータ(`window.blocklet.optionalComponents`)と照合して、必要なコンポーネントがインストールされているかどうかを判断します。
|
|
90
16
|
2. **権限チェック**: 不足しているコンポーネントがある場合、`SessionPermission` コンポーネントを使用して、現在のユーザーのロールが `roles` プロパティで指定されたものと一致するかどうかを検証します。
|
|
@@ -8,83 +8,9 @@ This component is essential for creating robust applications that can gracefully
|
|
|
8
8
|
|
|
9
9
|
The component's logic follows a clear, sequential process to ensure dependencies are met before rendering its child components.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
start: {
|
|
15
|
-
label: "Start"
|
|
16
|
-
shape: oval
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
check_dependencies: {
|
|
20
|
-
label: "Check dependencies defined in 'did' prop"
|
|
21
|
-
shape: rectangle
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
is_installed: {
|
|
25
|
-
label: "Are all dependencies installed?"
|
|
26
|
-
shape: diamond
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
render_children: {
|
|
30
|
-
label: "Render child components"
|
|
31
|
-
shape: rectangle
|
|
32
|
-
style.fill: "#d4edda"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
check_permission: {
|
|
36
|
-
label: "Check user's role against 'roles' prop"
|
|
37
|
-
shape: rectangle
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
has_permission: {
|
|
41
|
-
label: "Does user have permission?"
|
|
42
|
-
shape: diamond
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
display_installer: {
|
|
46
|
-
label: "Display Installer UI"
|
|
47
|
-
shape: rectangle
|
|
48
|
-
style.fill: "#cce5ff"
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
is_mute: {
|
|
52
|
-
label: "Is 'noPermissionMute' prop true?"
|
|
53
|
-
shape: diamond
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
display_suggestion: {
|
|
57
|
-
label: "Display 'Contact Admin' suggestion"
|
|
58
|
-
shape: rectangle
|
|
59
|
-
style.fill: "#f8d7da"
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
render_fallback: {
|
|
63
|
-
label: "Render fallback component or null"
|
|
64
|
-
shape: rectangle
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
end: {
|
|
68
|
-
label: "End"
|
|
69
|
-
shape: oval
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
start -> check_dependencies
|
|
73
|
-
check_dependencies -> is_installed
|
|
74
|
-
is_installed -> render_children: "Yes"
|
|
75
|
-
is_installed -> check_permission: "No"
|
|
76
|
-
render_children -> end
|
|
77
|
-
|
|
78
|
-
check_permission -> has_permission
|
|
79
|
-
has_permission -> display_installer: "Yes"
|
|
80
|
-
has_permission -> is_mute: "No"
|
|
81
|
-
display_installer -> end
|
|
82
|
-
|
|
83
|
-
is_mute -> render_fallback: "Yes"
|
|
84
|
-
is_mute -> display_suggestion: "No"
|
|
85
|
-
render_fallback -> end
|
|
86
|
-
display_suggestion -> end
|
|
87
|
-
```
|
|
11
|
+
<!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
|
|
12
|
+

|
|
13
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
88
14
|
|
|
89
15
|
1. **Dependency Check**: It reads the `did` prop and checks against the blocklet's metadata (`window.blocklet.optionalComponents`) to determine if the required components are installed.
|
|
90
16
|
2. **Permission Check**: If any components are missing, it uses the `SessionPermission` component to verify if the current user's role matches those specified in the `roles` prop.
|
|
@@ -253,4 +179,4 @@ export default function CustomInstallerButton() {
|
|
|
253
179
|
|
|
254
180
|
The `ComponentInstaller` is a powerful component for managing optional dependencies within a blocklet application. It provides a structured and user-friendly way to ensure that required components are available, guiding administrators through the installation process when necessary. By using this component, you can build more resilient and feature-rich applications that adapt to the user's environment.
|
|
255
181
|
|
|
256
|
-
For further details on managing components, you may also be interested in the [BlockletStudio](./components-component-management-blocklet-studio.md) component, which offers a more comprehensive interface for resource and component management.
|
|
182
|
+
For further details on managing components, you may also be interested in the [BlockletStudio](./components-component-management-blocklet-studio.md) component, which offers a more comprehensive interface for resource and component management.
|
|
@@ -8,83 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
該元件的邏輯遵循一個清晰的順序流程,以確保在渲染其子元件之前滿足所有相依性。
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
start: {
|
|
15
|
-
label: "開始"
|
|
16
|
-
shape: oval
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
check_dependencies: {
|
|
20
|
-
label: "檢查 'did' prop 中定義的相依性"
|
|
21
|
-
shape: rectangle
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
is_installed: {
|
|
25
|
-
label: "是否所有相依性都已安裝?"
|
|
26
|
-
shape: diamond
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
render_children: {
|
|
30
|
-
label: "渲染子元件"
|
|
31
|
-
shape: rectangle
|
|
32
|
-
style.fill: "#d4edda"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
check_permission: {
|
|
36
|
-
label: "根據 'roles' prop 檢查使用者角色"
|
|
37
|
-
shape: rectangle
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
has_permission: {
|
|
41
|
-
label: "使用者是否有權限?"
|
|
42
|
-
shape: diamond
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
display_installer: {
|
|
46
|
-
label: "顯示安裝程式 UI"
|
|
47
|
-
shape: rectangle
|
|
48
|
-
style.fill: "#cce5ff"
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
is_mute: {
|
|
52
|
-
label: "'noPermissionMute' prop 是否為 true?"
|
|
53
|
-
shape: diamond
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
display_suggestion: {
|
|
57
|
-
label: "顯示『聯絡管理員』建議"
|
|
58
|
-
shape: rectangle
|
|
59
|
-
style.fill: "#f8d7da"
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
render_fallback: {
|
|
63
|
-
label: "渲染備用元件或 null"
|
|
64
|
-
shape: rectangle
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
end: {
|
|
68
|
-
label: "結束"
|
|
69
|
-
shape: oval
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
start -> check_dependencies
|
|
73
|
-
check_dependencies -> is_installed
|
|
74
|
-
is_installed -> render_children: "是"
|
|
75
|
-
is_installed -> check_permission: "否"
|
|
76
|
-
render_children -> end
|
|
77
|
-
|
|
78
|
-
check_permission -> has_permission
|
|
79
|
-
has_permission -> display_installer: "是"
|
|
80
|
-
has_permission -> is_mute: "否"
|
|
81
|
-
display_installer -> end
|
|
82
|
-
|
|
83
|
-
is_mute -> render_fallback: "是"
|
|
84
|
-
is_mute -> display_suggestion: "否"
|
|
85
|
-
render_fallback -> end
|
|
86
|
-
display_suggestion -> end
|
|
87
|
-
```
|
|
11
|
+
<!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
|
|
12
|
+

|
|
13
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
88
14
|
|
|
89
15
|
1. **相依性檢查**:它會讀取 `did` prop,並對照 blocklet 的元資料(`window.blocklet.optionalComponents`)進行檢查,以確定所需元件是否已安裝。
|
|
90
16
|
2. **權限檢查**:如果有任何元件缺失,它會使用 `SessionPermission` 元件來驗證目前使用者的角色是否與 `roles` prop 中指定的角色相符。
|
|
@@ -8,83 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
该组件的逻辑遵循一个清晰的顺序流程,以确保在渲染其子组件之前满足依赖关系。
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
start: {
|
|
15
|
-
label: "开始"
|
|
16
|
-
shape: oval
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
check_dependencies: {
|
|
20
|
-
label: "检查在 'did' prop 中定义的依赖项"
|
|
21
|
-
shape: rectangle
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
is_installed: {
|
|
25
|
-
label: "所有依赖项都已安装吗?"
|
|
26
|
-
shape: diamond
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
render_children: {
|
|
30
|
-
label: "渲染子组件"
|
|
31
|
-
shape: rectangle
|
|
32
|
-
style.fill: "#d4edda"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
check_permission: {
|
|
36
|
-
label: "根据 'roles' prop 检查用户角色"
|
|
37
|
-
shape: rectangle
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
has_permission: {
|
|
41
|
-
label: "用户有权限吗?"
|
|
42
|
-
shape: diamond
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
display_installer: {
|
|
46
|
-
label: "显示安装器界面"
|
|
47
|
-
shape: rectangle
|
|
48
|
-
style.fill: "#cce5ff"
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
is_mute: {
|
|
52
|
-
label: "'noPermissionMute' prop 是否为 true?"
|
|
53
|
-
shape: diamond
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
display_suggestion: {
|
|
57
|
-
label: "显示“联系管理员”建议"
|
|
58
|
-
shape: rectangle
|
|
59
|
-
style.fill: "#f8d7da"
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
render_fallback: {
|
|
63
|
-
label: "渲染回退组件或 null"
|
|
64
|
-
shape: rectangle
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
end: {
|
|
68
|
-
label: "结束"
|
|
69
|
-
shape: oval
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
start -> check_dependencies
|
|
73
|
-
check_dependencies -> is_installed
|
|
74
|
-
is_installed -> render_children: "是"
|
|
75
|
-
is_installed -> check_permission: "否"
|
|
76
|
-
render_children -> end
|
|
77
|
-
|
|
78
|
-
check_permission -> has_permission
|
|
79
|
-
has_permission -> display_installer: "是"
|
|
80
|
-
has_permission -> is_mute: "否"
|
|
81
|
-
display_installer -> end
|
|
82
|
-
|
|
83
|
-
is_mute -> render_fallback: "是"
|
|
84
|
-
is_mute -> display_suggestion: "否"
|
|
85
|
-
render_fallback -> end
|
|
86
|
-
display_suggestion -> end
|
|
87
|
-
```
|
|
11
|
+
<!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
|
|
12
|
+

|
|
13
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
88
14
|
|
|
89
15
|
1. **依赖检查**:它读取 `did` prop,并与 blocklet 的元数据(`window.blocklet.optionalComponents`)进行核对,以确定所需的组件是否已安装。
|
|
90
16
|
2. **权限检查**:如果缺少任何组件,它会使用 `SessionPermission` 组件来验证当前用户的角色是否与 `roles` prop 中指定的角色匹配。
|
|
@@ -6,38 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
このライフサイクルを管理するための主要なコンポーネントは `ComponentInstaller` と `BlockletStudio` です。
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Application: {
|
|
13
|
-
label: "メインアプリケーション"
|
|
14
|
-
shape: rectangle
|
|
15
|
-
style.fill: "#f0f7ff"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
Blocklet-Components: {
|
|
19
|
-
label: "Blocklet コンポーネント"
|
|
20
|
-
shape: rectangle
|
|
21
|
-
style.fill: "#f6ffed"
|
|
22
|
-
style.stroke-dash: 2
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
ComponentInstaller: {
|
|
26
|
-
label: "ComponentInstaller"
|
|
27
|
-
shape: rectangle
|
|
28
|
-
style.fill: "#fff7e6"
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
BlockletStudio: {
|
|
32
|
-
label: "BlockletStudio"
|
|
33
|
-
shape: rectangle
|
|
34
|
-
style.fill: "#fff1f0"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
Application -> Blocklet-Components: "依存/使用"
|
|
38
|
-
ComponentInstaller -> Blocklet-Components: "インストール & 検証"
|
|
39
|
-
BlockletStudio -> Blocklet-Components: "公開 & 管理"
|
|
40
|
-
```
|
|
9
|
+
<!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
|
|
10
|
+

|
|
11
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
41
12
|
|
|
42
13
|
## コアツール
|
|
43
14
|
|
|
@@ -6,38 +6,9 @@ These tools are essential for creating flexible systems where functionality can
|
|
|
6
6
|
|
|
7
7
|
The primary components for managing this lifecycle are `ComponentInstaller` and `BlockletStudio`.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Application: {
|
|
13
|
-
label: "Main Application"
|
|
14
|
-
shape: rectangle
|
|
15
|
-
style.fill: "#f0f7ff"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
Blocklet-Components: {
|
|
19
|
-
label: "Blocklet Components"
|
|
20
|
-
shape: rectangle
|
|
21
|
-
style.fill: "#f6ffed"
|
|
22
|
-
style.stroke-dash: 2
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
ComponentInstaller: {
|
|
26
|
-
label: "ComponentInstaller"
|
|
27
|
-
shape: rectangle
|
|
28
|
-
style.fill: "#fff7e6"
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
BlockletStudio: {
|
|
32
|
-
label: "BlockletStudio"
|
|
33
|
-
shape: rectangle
|
|
34
|
-
style.fill: "#fff1f0"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
Application -> Blocklet-Components: "Depends on / Uses"
|
|
38
|
-
ComponentInstaller -> Blocklet-Components: "Installs & Verifies"
|
|
39
|
-
BlockletStudio -> Blocklet-Components: "Publishes & Manages"
|
|
40
|
-
```
|
|
9
|
+
<!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
|
|
10
|
+

|
|
11
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
41
12
|
|
|
42
13
|
## Core Tools
|
|
43
14
|
|
|
@@ -6,38 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
管理此生命週期的主要組件是 `ComponentInstaller` 和 `BlockletStudio`。
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Application: {
|
|
13
|
-
label: "主應用程式"
|
|
14
|
-
shape: rectangle
|
|
15
|
-
style.fill: "#f0f7ff"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
Blocklet-Components: {
|
|
19
|
-
label: "Blocklet 組件"
|
|
20
|
-
shape: rectangle
|
|
21
|
-
style.fill: "#f6ffed"
|
|
22
|
-
style.stroke-dash: 2
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
ComponentInstaller: {
|
|
26
|
-
label: "ComponentInstaller"
|
|
27
|
-
shape: rectangle
|
|
28
|
-
style.fill: "#fff7e6"
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
BlockletStudio: {
|
|
32
|
-
label: "BlockletStudio"
|
|
33
|
-
shape: rectangle
|
|
34
|
-
style.fill: "#fff1f0"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
Application -> Blocklet-Components: "依賴 / 使用"
|
|
38
|
-
ComponentInstaller -> Blocklet-Components: "安裝與驗證"
|
|
39
|
-
BlockletStudio -> Blocklet-Components: "發布與管理"
|
|
40
|
-
```
|
|
9
|
+
<!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
|
|
10
|
+

|
|
11
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
41
12
|
|
|
42
13
|
## 核心工具
|
|
43
14
|
|
|
@@ -6,38 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
管理此生命周期的主要组件是 `ComponentInstaller` 和 `BlockletStudio`。
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Application: {
|
|
13
|
-
label: "主应用程序"
|
|
14
|
-
shape: rectangle
|
|
15
|
-
style.fill: "#f0f7ff"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
Blocklet-Components: {
|
|
19
|
-
label: "Blocklet 组件"
|
|
20
|
-
shape: rectangle
|
|
21
|
-
style.fill: "#f6ffed"
|
|
22
|
-
style.stroke-dash: 2
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
ComponentInstaller: {
|
|
26
|
-
label: "ComponentInstaller"
|
|
27
|
-
shape: rectangle
|
|
28
|
-
style.fill: "#fff7e6"
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
BlockletStudio: {
|
|
32
|
-
label: "BlockletStudio"
|
|
33
|
-
shape: rectangle
|
|
34
|
-
style.fill: "#fff1f0"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
Application -> Blocklet-Components: "依赖/使用"
|
|
38
|
-
ComponentInstaller -> Blocklet-Components: "安装与验证"
|
|
39
|
-
BlockletStudio -> Blocklet-Components: "发布与管理"
|
|
40
|
-
```
|
|
9
|
+
<!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
|
|
10
|
+

|
|
11
|
+
<!-- DIAGRAM_IMAGE_END -->
|
|
41
12
|
|
|
42
13
|
## 核心工具
|
|
43
14
|
|