lexml / lexml-eta Goto Github PK
View Code? Open in Web Editor NEWO Editor de Textos Articulados é um web component especializado em edição de dispositivos de normas e proposições.
License: GNU General Public License v2.0
O Editor de Textos Articulados é um web component especializado em edição de dispositivos de normas e proposições.
License: GNU General Public License v2.0
Está no mesmo nível que o artigo
Visando criação de um documento comum para os componentes
Ao ser comandada a renumeração não está sendo atualizado o texto alterado
Quando é carregado um texto articulado, o parser pode não identificar determinado dispositivo, o que faz com que seja classificado como "dispositivo genérico".
O editor deve oferecer ao usuário a ação de conversão do dispositivo para um tipo admitido aquele contexto.
Assim, por exemplo, se o texto apresentar uma alínea abaixo de um artigo, deve-se oferecer a possibilidade de sua transformação em inciso de caput ou parágrafo, dependendo de sua posição.
Por exemplo, Titulo Unico
Nào está considerando o ponto final antes do NR
Quando se seleciona todo texto do dispositivo e exclui a 'operação não é permitida'
Art. 4º-C o editor colocou o ordinal após a letra C - art. 4-Cº. Isso também aconteceria com parágrafos
Atualmente, as mensagens de validação de dispositivo. Há situações em que se torna necessário apresentar mensagens gerais, como erro e avisos.
Permitir que seja alterada a posição de um dispositivo dentro de uma mesma hierarquia.
Ex: mover um Item 1 para a última posição dentre os itens da mesma alínea, renumerando automaticamente os dispositivos afetados pela mudança.
Deve-se permitir o uso de teclas de atalho.
Ao colar um texto em um dispositivo do tipo artigo ou dispositivo de artigo deve-se aceitar apenas a formatação que pode ser aplicada pelo próprio lexml-eta: negrito, itálico, subscrito, sobrescrito e link para remissão externa. Demais formatações html devem ser desconsideradas.
No caso de agrupadores de artigo, colar sempre apenas texto.
Como exemplo de comportamento comportamento indesejável, experimente copiar o texto de um dispositivo original para dentro de um dispositivo adicionado no modo emenda. O texto colado ficará na cor cinza em vez de verde, como inciso I-A da imagem abaixo:
Não é mais permitido excluir o único dispositivo disponível. Se for essa a intenção, deve ser feito um refresh da trela
Acertar o rótulo gerado quando o usuário informar o complemento como, por exemplo, 'a-a' ao invés de a-A
Ocorre uma dessincronização da interface com o estado, gerando um erro 'Elemento não encontrado'
Atualmente, é permitida a transformação do tipo de dispositivo, apenas através de ações no menu contextual. A ideia é que se permita efetuar essas modificações através do uso de combinações de teclas.
Assim, por exemplo, um inciso poderia ser transformado em alínea com uma combinação de teclas.
Isso acontece quando o artigo pertence a um agrupador
O Lexml exige faz distinção de aspas de abertura e fechamento. Assim, ao contrário de aspas duplas ("), usa-se os caracteres “ ”. No caso do final da alteração só há o fechamento ( ” )
Quando se tratar de dispositivo de alteração, é necessário que se distinga quando o usuário informar se o o artigo/parágrafo é único, de modo a evitar a numeração ordinal
A mensagem não se relaciona à ação. No caso, a ação poderia ser apresentada uma mensagem genérica "Operação não permitida.".
Para elaboração do comando de emendas, nos casos de inclusão de dispositivos em blocos de alteração, é necessário que o usuário informe se aquele dispositivo adicionado já existe ou não na norma que está sendo alterada.
Esta informação está registrada no atributo Dispositivo.existeNaNormaAlterada: boolean.
No popup de numeração do dispositivo adicionar a seguinte questão abaixo do input:
O dispositivo já existe na norma a ser alterada?
O Sim
O Não
Sem valor default.
Quando isso ocorre, não está sendo informada para o editor a exclusão dos dispositivos da alteração
Considerar o tipo de dispositivo "Alteracao" (tipo salvo) em vez de "Articulacao" (tipo no modelo do editor) na hora de abrir uma emenda.
Tratar os atributos relacionados a blocos de alteração na operação de abrir emenda. Ao abrir uma emenda, recuperar a situação indicada pelos atributos urnNormaAlterada, textoOmitido, abreAspas, fechaAspas, notaAlteracao e existeNaNormaAlterada.
Ao salvar, são removidas as aspas de abertura (no rótulo) e de fechamento com a nota de alteração (no final do texto do último dispositivo do artigo). Esta operação deve ser desfeita na emenda aberta a partir dos atributos abreAspas, fechaAspas e notaAlteracao.
O atributo urnNormaAlterada deve ser recuperado no bloco de alteração e o atributo existeNaNormaAlterada em dispositivos de alteração, quando o atributo existir no arquivo.
export class DispositivoEmendaModificado extends DispositivoEmenda {
...
textoOmitido?: boolean;
abreAspas?: boolean;
fechaAspas?: boolean;
notaAlteracao?: '(NR)' | '(AC)';
}
export class DispositivoEmendaAdicionado extends DispositivoEmendaModificado {
...
urnNormaAlterada?: string;
existeNaNormaAlterada?: boolean;
}
Exemplo de emenda com bloco de alteração:
Arquivo json - emenda-com-disp-alteracao.json.txt
Não mais exigir que seja informado 'parágrafo/artigo único'. Basta a palavra 'unico'
Para tornar mais clara a ideia de que o bloco está associado a determinado artigo
Quando se criar uma nova alteração, é criado um artigo com um texto que indica ser o último da alteração ("(NR) ), o que pode confundir o usuário. Deve-se propor apenas um texto
Atualmente um dispositivo não reconhecido pela norma vigente é classificado como dispositivo genérico. O editor distingue esse tipo mas não apresenta essa informação de maneira mais destacada
Suporte a criação, transformação e movimentação de dispositivos através de atalhos de teclado
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.