commandManagerを利用してコマンドを実行した後のCtrl+Zの動作の順番が不正

文書番号 : 84814     文書種別 : 制限事項     登録日 : 2020/01/08     最終更新日 : 2020/01/08
文書を印刷する
対象製品
SpreadJS(Ver.10.x.x -)
詳細
commandManagerを利用してコマンドを実行した後のCtrl+Zの動作の順番が正しくありません。
例えば、ClipboardPastedイベントを利用し貼り付けが完了後にコマンドを実行するような処理を行った場合、その処理をCtrl+Zにて2回元に戻すと「コマンド処理」→「貼り付け処理」の順ではなく、「貼り付け処理」→「コマンド処理」という順で元に戻ります。

再現手順
1.下記のサンプルコードを作成する
★サンプルコード(JavaScript)
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var sheet = spread.getActiveSheet();
sheet.setValue(0, 0, "A1");
var fromRange = new GC.Spread.Sheets.Range(0, 0, 1, 1);
var toRanges = [new GC.Spread.Sheets.Range(1, 0, 1, 1)];

//貼り付け完了時のイベントを設定
sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, function (e, args) {
  //コマンドを実行する
  spread.commandManager().execute({ cmd: "clipboardPaste", sheetName: "Sheet1", fromSheet: sheet, fromRange: fromRange, pastedRanges: toRanges, isCutting: false, clipboardText: "", pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all });
});
2.1.で作成したサンプルコードを開き、B2セルに任意の値を入力する
3.B3セルに2.で入力した値をCtrl+C、Ctrl+Vでコピーする
(この時ClipboardPastedで設定したイベントによってA2セルにも値が設定されます)
4.Ctrl+Zを実行する
⇒この時はB3セル(貼り付け処理)が元に戻ります
5.もう一度Ctrl+Zを実行する
⇒この時はA2セル(コマンド処理)が元に戻ります