2017-07-07 7 views
1

私は、角度アプリケーションでiframeを使ってxtextのorionエディタをホストしています。角度のあるアプリケーション側から書き込まれたコンテンツをバックエンド(Javaアプリケーション)に保存する必要があります。私は、エディタに書かれた内容を保存できるように、誰かがAPI呼び出しやアプローチを手伝ってくれますか?
1を.Iは私角度側からのiframeからコンテンツを抽出してみましたが、それは一度だけではなくではiframeを通してのみ表示されますどのようなデータを抽出ように抽出されたデータは部分的である:私はすでにやっていることリソースを保存するときにxtextが使用する状態IDは何ですか

表示するためにスクロールする必要があるコンテンツ全体。
2。私は保存中にxtextが行う「保存」APIコールを試みましたが、リクエストボディとしていくつかのstateIdが必要です。私はこの状態Idとは何かを理解する必要があり、どのように評価されますか?

私は、角のアプリケーションからこの呼び出し

 _this.saveEditor = function(args) { 
     var params = { 
      requiredStateId: args.stateId 
     } 
     _this.saveUrl = XTEXT_URL + '/save?resource=' + args.resourceId; 
     return $http({ 
      method: 'POST', 
      url: _this.saveUrl, 
      data: params 
     }); 
    }; 

私のリクエストボディは作っています:

{"requiredStateId":"-80000000"} 

そして、これは私がその前にロードAPI呼び出しを行うことによって取得しています状態IDです。レスポンスに状態IDを返します。

+0

"これまで何をしていますか" =>そのためのコードを追加できますか – Rakeschand

+0

クライアントからサーバーにsaveを呼び出すだけでは機能しませんか? https://github.com/eclipse/xtext-web/blob/master/org.eclipse.xtext.web.example.jetty/src/main/webapp/orion-statemachine-resource.html –

+0

@christianDietrich didnot work –

答えて

0

このスニップはあなたを助けることができること、私はあなたが私はあなたが照会して、手動で保存呼び出すことができるシンプルなログを行う

require(["orion/code_edit/built-codeEdit-amd"], function() { 
     require(["xtext/xtext-orion"], function(xtext) { 
      var editors = xtext.createEditor({ 
       baseUrl: baseUrl, 
       syntaxDefinition: "xtext-resources/generated/mydsl-syntax" 
      }).done(function(editorViewer) { 
       $("#save-button").click(function() { 
        editorViewer.xtextServices.saveResource(); 
       }); 
       $("#log-button").click(function() { 
        console.log(editorViewer.xtextServices.editorContext.getServerState()); 
       }); 
      }); 

     }); 
    }); 

かかわらず、自分のものでこれを配線する方法を知りません。

関連する問題