Skip to content

Instantly share code, notes, and snippets.

View brunogasparetto's full-sized avatar

Bruno Gasparetto brunogasparetto

View GitHub Profile
@brunogasparetto
brunogasparetto / htmlpurifier_bootstrap.php
Created January 23, 2019 11:43
Exemplo de uma configuração mais restrita ao HTML Purifier para tratar HTML inserido dentro do framework Bootstrap
<?php
/**
* Adiciona as classes indicadas a um elemento HTML
*/
class TagClassTransform extends HTMLPurifier_TagTransform
{
/**
* @var array
*/
@brunogasparetto
brunogasparetto / AdobeConnectClientExample.php
Last active March 26, 2020 13:15
Use examples for AdobeConnectClient Library
<?php
use AdobeConnectClient\Connection\Curl\Connection;
use AdobeConnectClient\Client;
$connection = new Connection('https://hostname.adobeconnect.com');
$client = new Client($connection);
$client->login('username', 'password');
// Creating a User
$principal = Principal::instance()
@brunogasparetto
brunogasparetto / fluig-requests.js
Last active October 12, 2022 14:15
Funções auxiliares para requisições no TOTVS Fluig Platform. Recomendo criar uma Widget somente para ter os arquivos disponibilizados no próprio Fluig e então adicionar nos formulários e demais widgets quando necessário.
/**
* Pega um dataset
*
* Wrapper para tornar a DatasetFactory.getDataset (da lib vcXMLRPC.js) em Promise.
*
* @param {string} dataset Nome do Dataset
* @param {string[]} fields Campos para retornar (pode ser null pra retornar todos)
* @param {Constraint[]} constraints Os filtros a aplicar ou null se não filtrar nada
* @param {string[]} sorters Campos para ordenar ou null para não ordenar. Pode colocar ;desc no campo para ordenar decrescente
* @returns {Promise<{columns: string[], values: object[]}>}
@brunogasparetto
brunogasparetto / WorkflowEngineService.js
Last active January 18, 2021 21:30
Fluig - Exemplo teste de como utilizar o serviço em um Dataset do Fluig
/**
* Teste do Serviço
*
* @param {string[]} fields Campos a retornar
* @param {Constraint[]} constraints Filtros
* @param {string[]} sortFields Campos da ordenação
*/
function createDataset(fields, constraints, sortFields) {
var SERVICE_NAME = "ECMWorkflowEngineService", // Nome do Serviço cadastrado no Fluig
SERVICE_PATH = "com.totvs.technology.ecm.workflow.ws.ECMWorkflowEngineServiceService";
@brunogasparetto
brunogasparetto / criar_documento_fluig.js
Last active January 30, 2023 19:41
Fluig - Exemplo de Gerar e Enviar um PDF à uma pasta GED do Fluig
// Foram usadas as bibliotecas blob-stream e pdfkit
async function generatePdf() {
const usuario = "login",
senha = "senha",
matricula_usuario = 'admin',
pdf = new PDFDocument(),
stream = pdf.pipe(blobStream()),
fileName = 'Nome_Do_Arquivo.pdf',
folderId = await findOrCreateFolderId("nova_pasta");
@brunogasparetto
brunogasparetto / zoom_pai_filho_reload_filters.js
Last active March 18, 2021 15:08
Fluig - Exemplo de Zoom interligados em um Pai Filho
/*
* Tenho uma Pai Filho com os seguintes campos Zoom:
* - ccProjeto
* - ccAcao
* - ccUnidade
*
* Comportamento desejado:
*
* - Quando houver uma seleção em ccProjeto o Zoom ccAcao recarregue usando o Projeto como filtro.
@brunogasparetto
brunogasparetto / ds_solicitacao_material_expediente_items.js
Created January 18, 2021 21:24
Fluig - Exemplo de consulta Pai Filho em Dataset
/*
* Exemplo de como consultar pai filho em dataset
*/
/**
* Itens da Solicitação de Material de Expediente
*
* @param {string[]} fields Campos para retornar
* @param {Constraint[]} constraints Filtros
* @param {string[]} sortFields Campos para ordenar
@brunogasparetto
brunogasparetto / importar_widget_fluig.md
Last active September 20, 2023 13:51
Fluig: Como importar uma Widget do Fluig para o Eclipse

Importar Widget do Fluig no Eclipse (Fluig Studio)

Você pode baixar a Widget pelo Painel de Controle exportando a página onde a Widget está ou indo no diretório do Fluig (no computador onde ele está instalado) e copiar o .war da pasta appserver/apps.

O arquivo .war nada mais é do que um arquivo compactado. Você pode usar qualquer descompactador (e se quiser até renomear pra .zip pro Windows reconhecer).

Pra editar eu aconselho a fazer o seguinte procedimento:

@brunogasparetto
brunogasparetto / javascript_base64_from_url.js
Created March 26, 2021 15:07
Pegar o Base64 de um arquivo através da sua URL
fetch(urlDoArquivo)
.then(response => response.blob())
.then(blob => {
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
// reader.result é o base64
console.log(reader.result);
}
@brunogasparetto
brunogasparetto / ds_process_attachments_files.js
Last active March 26, 2024 12:41
Fluig: Pega os anexos de um processo juntamente com a sua URL de download
/**
* Pega os documentos anexos a um processo
*
* Deve informar o processId na Constraint (e só ele será usado para filtrar dados).
*
* @param {string[]} fields
* @param {Constraint[]} constraints
* @param {string[]} sortFields
*/
function createDataset(fields, constraints, sortFields) {