Skip to content

Commit

Permalink
Merge pull request #45 from brunogasparetto/main
Browse files Browse the repository at this point in the history
Adiciona comandos de exportação e importação e melhora segurança da extensão
  • Loading branch information
brunogasparetto authored May 30, 2024
2 parents e2bc26b + c54741a commit 9ba9754
Show file tree
Hide file tree
Showing 93 changed files with 4,315 additions and 6,107 deletions.
4 changes: 0 additions & 4 deletions .vscode/servers.json

This file was deleted.

23 changes: 22 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,28 @@

Lista de atualizações da Extensão.

## 1.27.0

### Importante

A partir desta versão a Extensão não mais atualizará automaticamente a criptografia das senhas salvas
na configuração de servidores da versão 0.0.1 para a versão 1.0.0.

Caso a extensão verifique que está utilizando a versão antiga da configuração de servidores será solicitado
que redigite todas as senhas dos servidores salvos. Se houver alguma senha com erro simplesmente pulará para
o próximo servidor.

### Alterações

- Remove a atualização automática das senhas dos servidores da versão 0.0.1 para a mais atual;
- Atualiza todas as dependências da extensão;
- Adiciona todos os Eventos Globais (todos que estão no plugin Fluig do Eclipse);
- Adiciona Exportar Evento Global;
- Adiciona Excluir Evento Global;
- Adiciona Importar/Exportar Mecanismo de Atribuição Customizado;
- Ao Criar/Exportar algum evento o menu de opções os exibe em ordem alfabética;
- Otimiza o processo de criação de Widget;

## 1.26.0

Atualiza a criptografia utilizada para salvar as senhas dos servidores, garantindo maior
Expand Down Expand Up @@ -80,7 +102,6 @@ Permite indicar o campo descritor ao exportar formulário.
Ainda não permite selecionar um HTML principal para o formulário, sendo obrigatório que o nome do arquivo HTML principal seja igual ao nome
do diretório do formulário.


## 1.20.1

Permite efetuar a primeira consulta a um dataset já informando constraints, facilitando a consulta de datasets que dão erro
Expand Down
92 changes: 38 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ Após abrir a pasta do projeto Fluig as seguintes funcionalidades serão disponi
- [Importar Formulário e Importar Vários Formulários](#importar-formulário)
- [Exportar Formulário](#exportar-formulário)
- [Importar Evento Global e Importar Vários Eventos Globais](#importar-evento-global)
- [Exportar Evento Global](#exportar-evento-global)
- [Excluir Evento Global](#excluir-evento-global)
- [Importar Mecanismo de Atribuição Customizado](#importar-mecanismo-de-atribuição-customizado)
- [Exportar Mecanismo de Atribuição Customizado](#exportar-mecanismo-de-atribuição-customizado)
- [Snippets para HTML](#snippets-para-html)
- [Snippets para JavaScript](#snippets-para-javascript)

Expand Down Expand Up @@ -127,19 +131,6 @@ O arquivo JavaScript contém a estrutura da função do evento selecionado.

Você pode executar esse comando no __Command Palette__ ou com o menu de contexto no __File Explorer__.

Eventos disponibilizados:

- afterActivateUser
- afterDeactivateUser
- afterLogin
- beforeActivateUser
- beforeDeactivateUser
- beforeLogin
- displayCentralTasks
- onLoginError
- onLogout
- onNotify

## Novo Evento de Formulário

Esse comando cria um arquivo JavaScript, após selecionar o evento, no diretório `events` do
Expand All @@ -151,17 +142,6 @@ atalho __CTRL + F12__ (CMD + F12 no Mac) enquanto estiver editando algum arquivo

O arquivo JavaScript contém a estrutura da função do evento selecionado.

Eventos disponibilizados:

- afterProcessing
- afterSaveNew
- beforeProcessing
- displayFields
- enableFields
- inputFields
- setEnable
- validateForm

## Novo Evento de Processo

Esse comando cria um arquivo JavaScript, após selecionar o evento, no diretório `workflow/scripts`
Expand All @@ -178,30 +158,6 @@ contém a estrutura da função do evento selecionado.
É possível criar uma função compartilhada para o processo selecionando a opção __Nova Função__ no
menu de eventos. Quando o fizer será solicitado que informe o nome da função.

Eventos disponibilizados:

- afterCancelProcess
- afterProcessCreate
- afterProcessFinish
- afterReleaseProcessVersion
- afterReleaseVersion
- afterStateEntry
- afterStateLeave
- afterTaskComplete
- afterTaskCreate
- afterTaskSave
- beforeCancelProcess
- beforeSendData
- beforeStateEntry
- beforeStateLeave
- beforeTaskComplete
- beforeTaskCreate
- beforeTaskSave
- calculateAgreement
- checkComplementsPermission
- subProcessCreated
- validateAvailableStates

## Novo Mecanismo Customizado

Esse comando cria um arquivo JavaScript, após você preencher o nome do Mecanismo, no diretório
Expand Down Expand Up @@ -270,6 +226,40 @@ importação (`Fluig: Importar Evento Global` ou `Fluig: Importar Vários Evento
Após selecionar o servidor é exibido a lista de Eventos Globais do servidor para selecionar qual/quais serão
importados.

## Exportar Evento Global

Para exportar um Evento Global clique com o botão direito do mouse sobre o Evento e selecione a opção `Exportar Evento Global`
ou, enquanto edita o arquivo de evento, utilize o atalho __CTRL + F9__ (CMD + F9 no Mac).

Após selecionar o servidor o evento será exportado automaticamente.

## Excluir Evento Global

Para excluir um Evento Global deve-se usar o __Command Pallete__ (pressionando F1) e então selecionar o comando de
exclusão (`Fluig: Excluir Evento Global`).

Selecione os eventos que serão excluídos.

### CUIDADO

Não é possível desfazer esa ação. Então tenha em mente que é recomendado ter um backup dos eventos no seu projeto.

## Importar Mecanismo de Atribuição Customizado

Para importar Mecanismo de Atribuição Customizado é necessário clicar com o botão direito do mouse em qualquer lugar do
__File Explorer__ ou usar o __Command Pallete__ (pressionando F1) e então selecionar o comando de importação
(`Fluig: Importar Mecanismo Customizado` ou `Fluig: Importar Vários Mecanismos Customizados`).

Após selecionar o servidor é exibido a lista de Mecanismos Customizados do servidor para selecionar qual/quais serão
importados.

## Exportar Mecanismo de Atribuição Customizado

Para exportar um Mecanismo de Atribuição Customizado clique com o botão direito do mouse sobre o mecanismo e selecione a
opção `Exportar Mecanismo Customizado` ou, enquanto edita o arquivo do mecanismo, utilize o atalho __CTRL + F9__ (CMD + F9 no Mac).

Após selecionar o servidor será solicitado que informe um código, nome e descrição ao mecanismo customizado.

## Snippets para HTML

Snippets para criar estruturas HTML seguindo o __Fluig Style Guide__.
Expand Down Expand Up @@ -319,12 +309,6 @@ ser utilizado em qual dos dois ambientes.
- __fluig-modal__: Criar modal do Fluig
- __fluig-widget__: Criar o esqueleto de uma Widget

## Todo

- Criar comando Novo Layout;
- Adicionar todos os templates de Eventos Globais;
- Adicionar mais Snippets;

## Colaboração

Sinta-se à vontade para colaborar criando mais snippets, templates de arquivos e comandos.
Expand Down
61 changes: 36 additions & 25 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ const fs = require('fs');

const destFolder = 'dist';

const imagesExtensions = [".jpg", ".jpeg", ".png", ".svg"];

const gulpSrcOptions = {
encoding: file => imagesExtensions.includes(file.extname) ? false : "utf8"
}

function clean(cb) {
try {
fs.rmSync(destFolder, { recursive: true });
Expand All @@ -18,21 +24,21 @@ function clean(cb) {

function buildJquery(cb) {
src('node_modules/jquery/dist/jquery.min.js')
.pipe(dest(`${destFolder}/libs`));
.pipe(dest(`${destFolder}/libs`));

cb();
}

function buildBootstrapCss(cb) {
src('node_modules/bootstrap/dist/css/bootstrap.min.css')
.pipe(dest(`${destFolder}/libs`));
.pipe(dest(`${destFolder}/libs`));

cb();
}

function buildBootstrapJs(cb) {
src('node_modules/bootstrap/dist/js/bootstrap.min.js')
.pipe(dest(`${destFolder}/libs`));
.pipe(dest(`${destFolder}/libs`));

cb();
}
Expand All @@ -42,8 +48,8 @@ function buildSelect2Css(cb) {
'node_modules/select2/dist/css/select2.min.css',
'node_modules/select2-bootstrap-5-theme/dist/select2-bootstrap-5-theme.min.css',
])
.pipe(concat('select2.min.css'))
.pipe(dest(`${destFolder}/libs`));
.pipe(concat('select2.min.css'))
.pipe(dest(`${destFolder}/libs`));

cb();
}
Expand All @@ -53,10 +59,10 @@ function buildSelect2Js(cb) {
'node_modules/select2/dist/js/select2.full.min.js',
'node_modules/select2/dist/js/i18n/pt-BR.js',
])
.pipe(concat('select2.min.js'))
.pipe(footer(`\n$.fn.select2.defaults.set("language", "pt-BR");\n`))
.pipe(footer(`\n$(document).on('select2:open', () => document.querySelector('.select2-search__field').focus());\n`)) // Corrige bug JQuery + Select2 no foco
.pipe(dest(`${destFolder}/libs`));
.pipe(concat('select2.min.js'))
.pipe(footer(`\n$.fn.select2.defaults.set("language", "pt-BR");\n`))
.pipe(footer(`\n$(document).on('select2:open', () => document.querySelector('.select2-search__field').focus());\n`)) // Corrige bug JQuery + Select2 no foco
.pipe(dest(`${destFolder}/libs`));

cb();
}
Expand All @@ -68,8 +74,8 @@ function buildDatatablesCss(cb) {
'node_modules/datatables.net-fixedheader-bs5/css/fixedHeader.bootstrap5.min.css',
'node_modules/datatables.net-scroller-bs5/css/scroller.bootstrap5.min.css',
])
.pipe(concat('datatables.min.css'))
.pipe(dest(`${destFolder}/libs`));
.pipe(concat('datatables.min.css'))
.pipe(dest(`${destFolder}/libs`));

cb();
}
Expand All @@ -79,7 +85,7 @@ function buildDatatablesJs(cb) {

src([
'node_modules/jszip/dist/jszip.min.js',
'node_modules/datatables.net/js/jquery.dataTables.min.js',
'node_modules/datatables.net/js/dataTables.min.js',
'node_modules/datatables.net-bs5/js/dataTables.bootstrap5.min.js',
'node_modules/datatables.net-buttons/js/dataTables.buttons.min.js',
'node_modules/datatables.net-buttons/js/buttons.html5.min.js',
Expand All @@ -89,53 +95,58 @@ function buildDatatablesJs(cb) {
'node_modules/datatables.net-scroller/js/dataTables.scroller.min.js',
'node_modules/datatables.net-scroller-bs5/js/scroller.bootstrap5.min.js',
])
.pipe(concat('datatables.min.js'))
.pipe(footer(`\n$.extend($.fn.dataTable.defaults, {language: ${ptBrJson}});\n`))
.pipe(dest(`${destFolder}/libs`));
.pipe(concat('datatables.min.js'))
.pipe(footer(`\n$.extend($.fn.dataTable.defaults, {language: ${ptBrJson}});\n`))
.pipe(dest(`${destFolder}/libs`));

cb();
}

function buildHtml5Sortable(cb) {
src('node_modules/html5sortable/dist/html5sortable.min.js')
.pipe(dest(`${destFolder}/libs`));
.pipe(dest(`${destFolder}/libs`));

cb();
}

function buildResourcesCss(cb) {
src('resources/**/*.css')
.pipe(cleanCSS())
.pipe(dest(destFolder));
.pipe(cleanCSS())
.pipe(dest(destFolder));

cb();
}

function buildResourcesJs(cb) {
src('resources/**/*.js')
.pipe(uglify())
.pipe(dest(destFolder));
.pipe(uglify())
.pipe(dest(destFolder));

cb();
}

function buildResourcesHtml(cb) {
src('resources/**/*.html')
.pipe(dest(destFolder));
.pipe(dest(destFolder));

cb();
}

function buildResourcesImages(cb) {
src('resources/images/**/*.{jpg,jpeg,png,svg}')
.pipe(dest('dist/images'));
src(
'resources/images/**/*.{jpg,jpeg,png,svg}',
{
encoding: false
}
)
.pipe(dest('dist/images'));

cb();
}

function buildTemplates(cb) {
src('templates/**')
.pipe(dest('dist/templates'));
src('templates/**', gulpSrcOptions)
.pipe(dest('dist/templates'));

cb();
}
Expand Down
Loading

0 comments on commit 9ba9754

Please sign in to comment.