WireCloud でホストされる angular.js を介してアプリケーション - ウィジェット - を開発しました。アプリケーションにログインしているユーザーのユーザー名を取得する必要があります。この目的のために、MashupPlatform.context.get('username') を使用する必要がありますが、Angular は外部オブジェクトであるため、明らかに「MashupPlatform」を認識しません。
この問題を克服する方法はありますか?
ありがとうございました
WireCloud でホストされる angular.js を介してアプリケーション - ウィジェット - を開発しました。アプリケーションにログインしているユーザーのユーザー名を取得する必要があります。この目的のために、MashupPlatform.context.get('username') を使用する必要がありますが、Angular は外部オブジェクトであるため、明らかに「MashupPlatform」を認識しません。
この問題を克服する方法はありますか?
ありがとうございました
@Meier が言ったように、ウィジェットが Wirecloud にロードされると MashupPlatform がインジェクトされますが、ローカルでテストするには、npm と bower にあるmock-mashupplatform
ライブラリを使用できます。現在、wirecloud 0.7 のほぼすべてがサポートされていますが、0.8 へのサポートは今週提供される予定です。
この例では、次のようにします。
// Create the default values in a dictionary
var preferencesValues = {
'username': 'myusername'
};
// Construct the default values with strategies
var values = {
'prefs.get': MockMP.strategy.dict(preferencesValues)
};
// Construct the MashupPlatform with that values
window.MashupPlatform = new MockMP.MockMP(values);