For the complete documentation index, see llms.txt. This page is also available as Markdown.

状態管理

Chamiloでは、2つの状態管理ライブラリが並行して使用されています:

  • Pinia — 新しいすべてのストアの現在の標準。コードベースの大部分がPiniaを使用しています。

  • Vuex — レガシーストアで、古いビューで依然として使用されています。新しいコードではPiniaを使用する必要があります。

Piniaストア

Piniaストアはassets/vue/store/に直接配置されています:

ストアファイル
コンポーザブル
目的

securityStore.js

useSecurityStore

認証済みユーザー、ログイン/ログアウト、セッション確認

cidReq.js

useCidReqStore

現在のコース/セッションのコンテキスト(コースID、セッションID)

courseSettingStore.js

useCourseSettings

コースレベルの設定キャッシュ

enrolledStore.js

useEnrolledStore

ユーザーの登録データ

platformConfig.js

usePlatformConfig

プラットフォーム設定、プラグイン、テーマ、OAuth2プロバイダ

messageRelUserStore.js

useMessageRelUserStore

メッセージの状態

socialStore.js

useSocialStore

ソーシャルネットワークの状態

セキュリティストア

const securityStore = useSecurityStore()

// ユーザーがログインしているか確認
if (securityStore.isAuthenticated) { ... }

// 現在のユーザーオブジェクトにアクセス
const user = securityStore.user

CIDリクエストストア

現在のコース/セッションのコンテキストを追跡します — コース範囲内のAPI操作に必要です:

コース設定ストア

コースレベルの設定をキャッシュして、APIの繰り返し呼び出しを防ぎます:

プラットフォーム設定ストア

/platform-config/listから取得したグローバルプラットフォーム設定を含みます:

Vuexストア(レガシー)

Vuexストアはassets/vue/store/index.jsに定義されており、以下を含みます:

モジュール
目的

modules/crud.js

特定のサービスに対して完全なVuex CRUDモジュールを生成するファクトリ(makeCrudModule) — 古いリスト/作成/更新ビューで使用

modules/notifications.js

トースト通知の状態(表示、色、テキスト、タイムアウト)

modules/ux.js

UXの状態(アクセス禁止メッセージ)

security.js

レガシーVuexセキュリティモジュール(securityStore.jsに置き換え済み)

新しいVuexモジュールを追加することは避けてください。新しい状態にはPiniaを使用してください。

コンポーザブル

ストアに加えて、assets/vue/composables/には共有されるコンポジション関数が含まれています。注目すべき例:

ファイル
目的

useFileManager.js

ファイルブラウザの状態と操作

useTopbarLoggedIn.js / useTopbarNotLoggedIn.js

トップバーメニューの接続

useTopbarTour.js

トップバーのガイド付きツアー

useDocumentCreate.js / useDocumentUpdate.js / useDocumentTemplates.js

ドキュメントツールのヘルパー

useCertificateTags.js

証明書テンプレートタグのヘルパー

sidebarMenu.js

サイドバーナビゲーションのツリー

theme.js

テーマの読み込みと切り替え

pluginRegion.js

プラグインによって注入されたUI領域のレンダリング

userPermissions.js

現在のユーザーの権限確認

notification.js

プッシュ通知のヘルパー

locale.js

ロケールの検出と切り替え

datatableList.js / datatableCreate.js / datatableUpdate.js

データテーブルの再利用可能なCRUDパターン

useSocialInfo.js / useSocialMenuItems.js

ソーシャルネットワークのヘルパー

usePushSubscription.js

Webプッシュサブスクリプションの管理

upload.js

ファイルアップロードのヘルパー

useConfirmation.js

確認ダイアログのヘルパー

コンポーザブルは機能別サブディレクトリ(course/session/document/calendar/admin/auth/message/skill/など)にも整理されています。完全なリストはassets/vue/composables/にあります。

最終更新

役に立ちましたか?