Skip to Content
ビューコードエディター関数useCheckActionAvailability

useCheckActionAvailability

useCheckActionAvailabilityは、指定したアクションの「通常のアクション実行(execution)」「ジョブとして実行(job)」「レビュー依頼の作成(reviewRequest)」が可能かを判定するフックです。

各操作が可能かを示すisAvailableを返します。isAvailableがfalseの場合は、reasonとmessageに操作できない理由を返します。読み込み中はnullを返します。

基本的な使い方

import { useEffect, useState } from "react"; import { useCheckActionAvailability, Alert, Button, HStack, VStack, LoadingIndicator, } from "@basemachina/view"; const App = () => { const actionId = "get-user"; // アクションのIDまたは識別子 const availability = useCheckActionAvailability(actionId); if (!availability) { return <LoadingIndicator />; } const { execution, job, reviewRequest } = availability; return ( <VStack> <HStack> <Button title="通常のアクション実行" disabled={!execution.isAvailable} onClick={() => { /* 実行処理 */ }} /> <Button title="ジョブとして実行" disabled={!job.isAvailable} onClick={() => { /* ジョブ作成処理 */ }} /> <Button title="レビュー依頼を作成" disabled={!reviewRequest.isAvailable} onClick={() => { /* レビュー依頼作成処理 */ }} /> </HStack> {!execution.isAvailable && ( <Alert color="gray" message={`通常のアクション実行不可: ${execution.reason} - ${execution.message}`} /> )} {!job.isAvailable && ( <Alert color="gray" message={`ジョブとしての実行不可: ${job.reason} - ${job.message}`} /> )} {!reviewRequest.isAvailable && ( <Alert color="gray" message={`レビュー依頼の作成不可: ${reviewRequest.reason} - ${reviewRequest.message}`} /> )} </VStack> ); }; export default App;

詳細なインターフェース

引数

引数名型必須 ・ 任意説明例
actionIdstring必須アクションのID、または識別子。'c3hc2ii23akg0sokf9j0', 'get-user'

戻り値

以下の型の値を返します(読み込み中はnull)。

type CommonReason = | "notFound" | "noPermission" | "dataSourceDeleted" | "noCurrentEnvironmentDataSource" | "environmentInvisible" | "reviewSettingDeleted"; type Returns = { execution: | { isAvailable: true } | { isAvailable: false; reason: CommonReason | "reviewRequired" | "jobQueueSet"; message: string; }; job: | { isAvailable: true } | { isAvailable: false; reason: CommonReason | "reviewRequired"; message: string; }; reviewRequest: | { isAvailable: true } | { isAvailable: false; reason: CommonReason | "noReviewSetting" | "environmentNotRequiringReview"; message: string; }; } | null;

共通の理由(CommonReason)

reasonmessage
notFound存在しないアクションのIDまたは識別子です。
noPermission実行権限がありません。
dataSourceDeletedデータソースが削除されています。
noCurrentEnvironmentDataSourceこの環境のデータソース設定がありません。
environmentInvisibleこの環境ではアクションが非表示になっています。
reviewSettingDeletedレビュー設定が削除されています。

操作別の理由

操作reasonmessage
executionreviewRequiredこの環境では実行前レビューが必要です。
executionjobQueueSetジョブキューが設定されているため、ジョブでのみ実行可能です。
jobreviewRequiredこの環境では実行前レビューが必要です。
reviewRequestnoReviewSettingレビュー設定が使用されていません。
reviewRequestenvironmentNotRequiringReviewこの環境で実行前レビューが有効化されていません。