amarkes / br-mask

MIT License
116 stars 56 forks source link

Suporte para Angular 9. #40

Open denniscm opened 4 years ago

denniscm commented 4 years ago

Olá, Poderíamos ter o suporte para Angular 9? Usava com Ionic 4 e Angular 8 perfeitamente, porém com o Angular 9 não funciona mais.

Erro apresentado: Failed to compile entry-point br-mask (main as commonjs) due to compilation errors: node_modules/br-mask/dist/app.module.js:12:31 - error NG1010: Value at position 0 in the NgModule.declarations of BrMaskerModule is not a reference: [object Object]

12 declarations: [ 13 BrMaskDirective 14 ],

Obrigado!

blondie63 commented 4 years ago

Ionic 5 Angular 9 :)

ludufre commented 4 years ago
Samuel-Oliveira commented 4 years ago

+1

brunowoelke commented 4 years ago

+1

blondie63 commented 4 years ago

it's works until Angular 9.0.2 but with 9.0.4 no more..

marcelaeloisa commented 4 years ago

+1

guiltm commented 4 years ago

Bom, para os amiguinhos que estão com problema na versão 9 do angular igual eu estava, e desesperado atrás de uma biblioteca que funcionasse pra não ter que fzr isso na "mao" (em vão, todas davam o mesmo erro). Pesquisando, vi que o problema é por causa do novo compilador 'IVY', que agora vem pra ser usado por padrão, e tem que adequar algumas coisas pra funcionar com ele. Ia ajeitar, mas como estou sem tempo (são 3:30 da manhã kkk), apenas coloquei pra não utilizá-lo.

Basta ir em tsconfig.app.json Depois colocar o codigo:

 "angularCompilerOptions": {
    "enableIvy": false
  }

Assim ele vai utilizar o antigo (View Engine). Lembrando que a recomendação é usar o IVY e atualizar a biblioteca, mas pra funcionar, vale a configuração até a biblioteca estar ok.

To utilizando a ultima versão de tudo. (Angular 9.0.4).

tripodsgames commented 4 years ago

O que você pode fazer também é copiar a diretiva(br-mask.ts) e jogar no seu projeto e importar ela em um módulo assim, dessa forma funciona com o IVY. declarations: [ BrMaskDirective ], exports: [ BrMaskDirective ],

denniscm commented 4 years ago

O que você pode fazer também é copiar a diretiva(br-mask.ts) e jogar no seu projeto e importar ela em um módulo assim, dessa forma funciona com o IVY. declarations: [ BrMaskDirective ], exports: [ BrMaskDirective ],

@tripodsgames Seguindo sua orientação, acontece o seguinte erro: Error: Unexpected value 'BrMaskDirective' declared by the module 'CadastroEnderecosModalPageModule'. Please add a @Pipe/@Directive/@Component annotation.

Caiquevlm commented 4 years ago

Tem alguma previsão de suporte para o 9.1.0?

denniscm commented 4 years ago

Tem alguma previsão de suporte para o 9.1.0?

Acho que infelizmente não teremos, o autor não está mais dando suporte.

tripodsgames commented 4 years ago

O que você pode fazer também é copiar a diretiva(br-mask.ts) e jogar no seu projeto e importar ela em um módulo assim, dessa forma funciona com o IVY. declarations: [ BrMaskDirective ], exports: [ BrMaskDirective ],

@tripodsgames Seguindo sua orientação, acontece o seguinte erro: Error: Unexpected value 'BrMaskDirective' declared by the module 'CadastroEnderecosModalPageModule'. Please add a @Pipe/@Directive/@component annotation.

Eu uso bastante o BrMask aqui nos projetos, mas não uso do npm, eu baixo esse arquivo https://github.com/amarkes/br-mask/blob/master/src/directives/br-mask.ts e coloco no projeto. Ai eu importo ele em um módulo da forma que falei.

vagnersabadi commented 4 years ago

Gosto de usar essa lib https://github.com/rafaelcorradini/ngx-ion-simple-mask

vitorTheDev commented 4 years ago

Comigo estava dando erro utilizando angular 9.1.6 e ionic 5.1.1 (ivy habilitado)

RangeError: Maximum call stack size exceeded
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:191)
    at SafeSubscriber.next (Subscriber.js:122)
    at Subscriber._next (Subscriber.js:72)
    at Subscriber.next (Subscriber.js:49)
    at EventEmitter.next (Subject.js:39)
    at EventEmitter.emit (core.js:37079)
    at FormControlName.viewToModelUpdate (forms.js:8394)
    at forms.js:3538
    at forms.js:4954
    at Array.forEach (<anonymous>)

Ao dar uma investigada descobri que o problema era no @HostListener('ngModelChange, ['$event']) onNgModelChange(e: any), que estava causando recursividade infinita. Simplesmente removendo o evento resolveu para mim.

denniscm commented 4 years ago

Comigo estava dando erro utilizando angular 9.1.6 e ionic 5.1.1 (ivy habilitado)

RangeError: Maximum call stack size exceeded
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:191)
    at SafeSubscriber.next (Subscriber.js:122)
    at Subscriber._next (Subscriber.js:72)
    at Subscriber.next (Subscriber.js:49)
    at EventEmitter.next (Subject.js:39)
    at EventEmitter.emit (core.js:37079)
    at FormControlName.viewToModelUpdate (forms.js:8394)
    at forms.js:3538
    at forms.js:4954
    at Array.forEach (<anonymous>)

Ao dar uma investigada descobri que o problema era no @HostListener('ngModelChange, ['$event']) onNgModelChange(e: any), que estava causando recursividade infinita. Simplesmente removendo o evento resolveu para mim.

Nossa, eu iria fazer um post perguntando sobre isso! Muito Obrigado!

ludufre commented 4 years ago

Comigo estava dando erro utilizando angular 9.1.6 e ionic 5.1.1 (ivy habilitado)

RangeError: Maximum call stack size exceeded
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:191)
    at SafeSubscriber.next (Subscriber.js:122)
    at Subscriber._next (Subscriber.js:72)
    at Subscriber.next (Subscriber.js:49)
    at EventEmitter.next (Subject.js:39)
    at EventEmitter.emit (core.js:37079)
    at FormControlName.viewToModelUpdate (forms.js:8394)
    at forms.js:3538
    at forms.js:4954
    at Array.forEach (<anonymous>)

Ao dar uma investigada descobri que o problema era no @HostListener('ngModelChange, ['$event']) onNgModelChange(e: any), que estava causando recursividade infinita. Simplesmente removendo o evento resolveu para mim.

Você poderia enviar um PR?

vitorTheDev commented 4 years ago

Você poderia enviar um PR?

Criei: https://github.com/amarkes/br-mask/pull/45

vitorTheDev commented 4 years ago

Acho que consegui entender o problema e consertá-lo #45

lucianojs commented 4 years ago

Após atualizar para a versão 0.0.10 percebi que não esta mais sendo possível informar valores negativos para mascaras com money. voltei pra versão 0.0.8 e funcionou perfeitamente. Meu projeto está com Ionic 5 / Angular 10.