Estrutura inicial, ambiente IA
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
description: "Use quando editar JavaScript Rhino no DavinTI/Vitruvio (.js) e scripts nos formularios/processos .xml Vitruvio: compatibilidade ES5, padroes de db/query, interop Java, concatenacao SQL/HTML e alteracoes seguras para producao."
|
||||
name: "Rhino ES5 Vitruvio"
|
||||
applyTo: "**/*.js, **/*.xml"
|
||||
---
|
||||
# Rhino ES5 (Vitruvio)
|
||||
|
||||
- O runtime e Rhino ES5. Use sempre `var`.
|
||||
- Nao use `let`, `const`, template strings, arrow functions, optional chaining ou outros recursos modernos de JS.
|
||||
- Em comparacoes com objetos Java (interop), prefira `==` e `!=`.
|
||||
- Monte SQL/HTML com concatenacao incremental:
|
||||
- `var sql = ""; sql += " SELECT ...";`
|
||||
- Prefira APIs/libs padrao da plataforma:
|
||||
- `libService.loadScript('db'|'javadateutils'|'util'|...)`
|
||||
- `new db("CONEXAO")`, `db.queryRow(sql, params)`, `db.query(sql, params).each(function (row) { ... })`, `db.transaction(function () { ... })`, `db.executeProcedure(nome, parametros)`, `db.update(sql, params)`
|
||||
- `engine.getField('campo').setValue`, `engine.getLabel('id').setValue`, `engine.getWidget('id')`, `engine.setGlobalVariable('nome', funcao);`
|
||||
- `execution.getVariable/ setVariable`, `taskService`, `vFormService`, `sendMessageToVitruvio({ ... })`
|
||||
- `db.query` retorna `null` quando nao ha linhas; se o objeto existir, ja ha ao menos um registro e deve ser percorrido com `lista.each(...)` (nao usar `size`).
|
||||
- Organize helpers internos (formatação de data, filtros, builders de HTML) antes das funcoes expostas (`this.metodo = function () { ... }`).
|
||||
- Mantenha nomenclatura e convencoes existentes em portugues.
|
||||
- Priorize alteracoes minimas e compativeis com producao, evitando refactors amplos.
|
||||
Reference in New Issue
Block a user