Invocação das API javascript

Diogo Lucas edited this page Jun 27, 2014 · 1 revision

Ao incluir o cliente do contentor, tem acesso às API JavaScript em aplicações do tipo Hosted. Desta forma, apesar das aplicações Hosted serem externas à plataforma, podem interagir com o portal e outras aplicações, da mesma forma que o fariam se fossem executadas de forma embebida (Packaged Apps). Para fazer uma chamada a uma das API deve invocar da seguinte forma:

// Get the Container singleton and call an API method
Container.get().services(methodID, data, callback);

Por exemplo, para obter a língua em que está o portal e traduzir a sua aplicação:

Container.get().services("container.getLocale", {}, function(args) {
    var locale = args[0];
    var url = window.location.href + "/locales/" + locale + "/localizedStrings.json";
    $.getJSON(url, function(localizedStrings) {
       translate(localizedStrings);
    });
});

Existe um alias mais sintético que poderá igualmente utilizar na sua aplicação:

// Get the Container singleton and call an API method
$c().services(methodID, data, callback);

Segue-se uma comparação entre a sintaxe utilizada nas Hosted Apps e nas Packaged Apps (com a flag inline):

/* Packaged App */
services.comm.register("public", "chat users", "all", function() {
   // ...
});

/* Hosted App */
var params = {
   channelType: "public",
   channelID:   "chat users",
   receivers:   "all"
};
$c().services("comm.register", params, function() {
   // ...
});
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.