Para consultar dados do ambiente da sessão via JavaScipt (client side) é possível utilizar nos eventos a biblioteca WCMAPI. As propriedades disponíveis através da WCMAPI são:
Método | Especificação |
---|---|
WCMAPI.version | Retorna a versão do fluig. Exemplo: "1.6.2" |
WCMAPI.serverURL ou WCMAPI.getServerURL() | Retorna o endereço principal do servidor do fluig: "http://" ou "https://" seguido do endereço do servidor e a porta (se for diferente de 80). Exemplo: "http://empresa.fluig.com:8080" |
WCMAPI.organizationId ou WCMAPI.getOrganizationId() | Retorna o ID do tenant ao qual o usuário está conectado. Exemplos: "1", "12", "99" |
WCMAPI.tenantCode ou WCMAPI.getTenantCode() | Retorna o código do tenant ao qual o usuário está conectado. Exemplos: "suaempresa", "totvs", "demo" |
WCMAPI.Create | Envia uma requisição ao servidor do fluig. Exemplo: WCMAPI.Create({ url: '{url a ser consumida}', contentType: "text/xml", dataType: "xml", data: '{Request}', success: function(data){ // código a ser executado em caso de sucesso } }); |
WCMAPI.serverContextURL ou WCMAPI.getServerContextURL() | Retorna a raiz da URL do portal da plataforma. Valor: "/portal" |
WCMAPI.logoff | Encerra a sessão de um usuário na plataforma. Exemplo de utilização na função click de um botão implementado no arquivo JavaScript de um widget: showMessage: function () { $div = $('#helloMessage_' + this.instanceId); $message = $('<div>').addClass('message').append(this.message); $div.append($message); WCMAPI.logoff(); //Chamada da API } |
WCMAPI.addListener | Adiciona um evento customizado na widget. Exemplo de implementação: addCustomListener: function () { // evName: Nome do evento disparado // data: Dados customizados que foram enviados WCMAPI.addListener(this, 'update-widget-list', function(evName, data) { // Realizar alguma ação }); } |
WCMAPI.fireEvent | Dispara um evento customizado pela widget. Exemplo de implementação: fireCustomListener: function () { // evName: Nome do evento disparado // data: Dados customizados que foram enviados var data = [/* custom data */]; WCMAPI.fireEvent('update-widget-list', data); } |
WCMAPI.failHandler | Exibe um alerta detalhado sobre o erro de alguma requisição. Exemplo de implementação: FLUIGC.ajax({ type: 'GET', url: '<PUBLIC_API>', success: function (result) { // faz algo com o sucesso }, error: function(args) { // Dispara um alerta com os detalhes do erro WCMAPI.failHandler(args, true); } }); |
WCMAPI.convertFtlAsync | Realiza a renderização de uma widget pelo frontend. Esse método retorna o HTML de uma widget parseado pelo backend e também inclui todos os resources (css e js) dessa widget na página. Observação: O método WCMAPI.convertFtl não deve ser usado pois ele realiza uma chamada síncrona e isso prejudica a experiência do usuário na página. Exemplo de implementação: WCMAPI.convertFtlAsync('<WIDGET_NAME>', '<FTL_NAME>', JSON.stringify({ /* dados customizados */ }), function(data) { // Adiciona o HTML da widget em algum container $('MY_CONTAINER').append(data); }); |
WCMAPI.generateId() | Retorna um ID único para ser usado no desenvolvimento de uma widget. Exemplo de implementação: var customId = WCMAPI.generateId(); // retorna wcmid4, wcmid5, wcmid6 e assim sucessivamente |
WCMAPI.getSourceImage | Retorna a url da imagem ou o base64 dela caso ela possua algum tipo de customização feita pelo dispositivo que criou ela, como rotação feita por um celular. Exemplo de implementação: var $image = $('.my-image'); var src = $image.attr('src'); var options = { maxHeight: 74, orientation: true }; WCMAPI.getSourceImage(src, options, function(src) { $image.attr('src', src); }); |
WCMAPI.isReplicationServerAccessible | Verifica se a replicação de arquivos pelo servidor está disponível e acessível. Exemplo de implementação: var defaultLocation = 'Fluig'; var postInfo = { that: this, nextCall: cb }; WCMAPI.isReplicationServerAccessible(postInfo, function(postInfo, result) { // faz algo com o retorno }); |
WCMAPI.setSessionAttribute | Adiciona algum valor na sessão do usuário (backend). Exemplo de implementação: WCMAPI.setSessionAttribute('<MY_FLAG>', '<MY_VALUE>'); |
WCMAPI.getSessionAttribute | Retorna algum valor que foi adicionado na sessão do usuário (backend). Exemplo de implementação: WCMAPI.getSessionAttribute('<MY_FLAG>'); |
WCMAPI.getProtectedContextPath | Retorna o path protegido (que exige autenticação para acessar) do servidor do Fluig. Exemplo de implementação: WCMAPI.getProtectedContextPath(); // Retorna: /portal/p |
WCMAPI.isNull | Retorna um booleano se um valor é nulo ou não. Observação: Recomenda-se usar JavaScript puro para realizar essa verificação. Exemplo de implementação: var myValue = null; // Com JavaScript puro var isNull1 = myValue === null; // Com WCMAPI var isNull2 = WCMAPI.isNull(myValue); |