型・APIリファレンス
    Preparing search index...

    Function useSpreadSheetGridActions

    • SpreadSheet グリッドアクション composable。

      ステータスバー状態・オリジナルデータスナップショット・保存/エクスポートの 業務ロジックを一元管理する。

      Parameters

      • definitionName: string

        SpreadSheet 定義名

      • OptionalgetDisplayName: () => undefined | string

        エクスポートファイル名に使用する表示名を返すゲッター

      Returns {
          applyPendingItems: (
              rawData: SpreadSheetRowData[],
              currentPage: number,
          ) => SpreadSheetRowData[];
          exportGrid: (
              gridOperations: Pick<
                  SpreadSheetGridOperations,
                  "getGridInstance"
                  | "getGridMergeRanges",
              >,
          ) => void;
          filterConditions: Ref<
              {
                  displayLabel: string;
                  index: number;
                  operation: string;
                  propertyName: string;
                  value: {
                      dateRange?: | null
                      | {
                          cssClassName?: string;
                          disabled?: boolean;
                          label: string;
                          value: string;
                      };
                      from: | null
                      | string
                      | {
                          cssClassName?: string;
                          disabled?: boolean;
                          label: string;
                          value: string;
                      }
                      | { name: string; oid: string; version?: number };
                      in?:
                          | string
                          | string[]
                          | {
                              cssClassName?: string;
                              disabled?: boolean;
                              label: string;
                              value: string;
                          }[]
                          | { name: string; oid: string; version?: number }[];
                      relativeRangeName?: null | string;
                      to:
                          | null
                          | string
                          | {
                              cssClassName?: string;
                              disabled?: boolean;
                              label: string;
                              value: string;
                          };
                  };
              }[],
              | SpreadSheetFilterCondition[]
              | {
                  displayLabel: string;
                  index: number;
                  operation: string;
                  propertyName: string;
                  value: {
                      dateRange?: | null
                      | {
                          cssClassName?: string;
                          disabled?: boolean;
                          label: string;
                          value: string;
                      };
                      from: | null
                      | string
                      | {
                          cssClassName?: string;
                          disabled?: boolean;
                          label: string;
                          value: string;
                      }
                      | { name: string; oid: string; version?: number };
                      in?:
                          | string
                          | string[]
                          | {
                              cssClassName?: string;
                              disabled?: boolean;
                              label: string;
                              value: string;
                          }[]
                          | { name: string; oid: string; version?: number }[];
                      relativeRangeName?: null | string;
                      to:
                          | null
                          | string
                          | {
                              cssClassName?: string;
                              disabled?: boolean;
                              label: string;
                              value: string;
                          };
                  };
              }[],
          >;
          hasPendingChanges: () => boolean;
          markDirty: (dirty: boolean, options?: MarkDirtyOptions) => void;
          originalItems: Ref<
              { id: string; oid: string; version: number; [key: string]: unknown }[],

                  | SpreadSheetRowData[]
                  | { id: string; oid: string; version: number; [key: string]: unknown }[],
          >;
          resetStatusBar: () => void;
          saveGridData: (
              gridOperations: Pick<SpreadSheetGridOperations, "getGridItems">,
              options: SaveGridDataOptions,
          ) => Promise<boolean>;
          saving: ComputedRef<boolean>;
          snapshotOriginalItems: (
              rawData: SpreadSheetRowData[],
              columnDefinitions?: SpreadSheetColumnDefinition[],
          ) => void;
          statusBar: Ref<
              {
                  selectedCount: number;
                  state: SpreadSheetStatusState;
                  validationMessages: string[];
              },
              | SpreadSheetStatusBarState
              | {
                  selectedCount: number;
                  state: SpreadSheetStatusState;
                  validationMessages: string[];
              },
          >;
          syncPendingRowsForCurrentPage: (
              currentItems: SpreadSheetRowData[],
              currentPage: number,
          ) => SpreadSheetPendingSaveRow[];
          updateFilterConditions: (conditions: SpreadSheetFilterCondition[]) => void;
          updateSelectedCount: (count: number) => void;
      }

      • applyPendingItems: (rawData: SpreadSheetRowData[], currentPage: number) => SpreadSheetRowData[]
      • exportGrid: (
            gridOperations: Pick<
                SpreadSheetGridOperations,
                "getGridInstance"
                | "getGridMergeRanges",
            >,
        ) => void

        Excel エクスポートを実行する。

      • filterConditions: Ref<
            {
                displayLabel: string;
                index: number;
                operation: string;
                propertyName: string;
                value: {
                    dateRange?: | null
                    | {
                        cssClassName?: string;
                        disabled?: boolean;
                        label: string;
                        value: string;
                    };
                    from: | null
                    | string
                    | {
                        cssClassName?: string;
                        disabled?: boolean;
                        label: string;
                        value: string;
                    }
                    | { name: string; oid: string; version?: number };
                    in?:
                        | string
                        | string[]
                        | {
                            cssClassName?: string;
                            disabled?: boolean;
                            label: string;
                            value: string;
                        }[]
                        | { name: string; oid: string; version?: number }[];
                    relativeRangeName?: null | string;
                    to:
                        | null
                        | string
                        | {
                            cssClassName?: string;
                            disabled?: boolean;
                            label: string;
                            value: string;
                        };
                };
            }[],
            | SpreadSheetFilterCondition[]
            | {
                displayLabel: string;
                index: number;
                operation: string;
                propertyName: string;
                value: {
                    dateRange?: | null
                    | {
                        cssClassName?: string;
                        disabled?: boolean;
                        label: string;
                        value: string;
                    };
                    from: | null
                    | string
                    | {
                        cssClassName?: string;
                        disabled?: boolean;
                        label: string;
                        value: string;
                    }
                    | { name: string; oid: string; version?: number };
                    in?:
                        | string
                        | string[]
                        | {
                            cssClassName?: string;
                            disabled?: boolean;
                            label: string;
                            value: string;
                        }[]
                        | { name: string; oid: string; version?: number }[];
                    relativeRangeName?: null | string;
                    to:
                        | null
                        | string
                        | {
                            cssClassName?: string;
                            disabled?: boolean;
                            label: string;
                            value: string;
                        };
                };
            }[],
        >

        フィルタ条件

      • hasPendingChanges: () => boolean
      • markDirty: (dirty: boolean, options?: MarkDirtyOptions) => void

        dirty 状態を反映する。dirty=true かつ currentItems が渡された場合のみスナップショット比較を行う

      • originalItems: Ref<
            { id: string; oid: string; version: number; [key: string]: unknown }[],

                | SpreadSheetRowData[]
                | { id: string; oid: string; version: number; [key: string]: unknown }[],
        >

        オリジナルデータスナップショット(初回ロード/検索/保存成功後に更新)

      • resetStatusBar: () => void

        ステータスバーをリセットする(検索実行時等)

      • saveGridData: (
            gridOperations: Pick<SpreadSheetGridOperations, "getGridItems">,
            options: SaveGridDataOptions,
        ) => Promise<boolean>

        グリッドデータを保存する。 差分計算 → API 呼び出し → バリデーションエラー処理 → 成功時にリロードを実行。

      • saving: ComputedRef<boolean>

        isSaving の読み取り専用 computed

      • snapshotOriginalItems: (
            rawData: SpreadSheetRowData[],
            columnDefinitions?: SpreadSheetColumnDefinition[],
        ) => void

        オリジナルデータスナップショットを更新する。 columnDefinitions が渡された場合は、getGridItems() と同じ正規化を適用する。 これにより保存時の差分比較で多重度列の値形式が一致し、正確な変更検出が行える。

      • statusBar: Ref<
            {
                selectedCount: number;
                state: SpreadSheetStatusState;
                validationMessages: string[];
            },
            | SpreadSheetStatusBarState
            | {
                selectedCount: number;
                state: SpreadSheetStatusState;
                validationMessages: string[];
            },
        >

        ステータスバー状態

      • syncPendingRowsForCurrentPage: (
            currentItems: SpreadSheetRowData[],
            currentPage: number,
        ) => SpreadSheetPendingSaveRow[]
      • updateFilterConditions: (conditions: SpreadSheetFilterCondition[]) => void

        フィルタ条件を更新する

      • updateSelectedCount: (count: number) => void

        選択数を更新する