Skip to content

Invocação das API Javascript

Diogo Lucas edited this page Jun 27, 2014 · 2 revisions

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.