diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..474a800 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +package.json +package-lock.json +.git/ +.idea/ +dist/ +node_modules/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..3acb28b --- /dev/null +++ b/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 140, + "singleQuote": true, + "useTabs": false, + "tabWidth": 2, + "semi": true, + "arrowParens": "avoid", + "bracketSpacing": false +} diff --git a/package-lock.json b/package-lock.json index ea77755..e401151 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2342,6 +2342,12 @@ } } }, + "ignore": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", + "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==", + "dev": true + }, "indent-string": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", @@ -2884,6 +2890,12 @@ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, + "mri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.0.tgz", + "integrity": "sha1-XAo/KcjM/7ux7JQdzsCdcfoy82o=", + "dev": true + }, "nan": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", @@ -3099,6 +3111,71 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, + "prettier": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.12.1.tgz", + "integrity": "sha1-wa0g6APndJ+vkFpAnSNn4Gu+cyU=", + "dev": true + }, + "pretty-quick": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-1.4.1.tgz", + "integrity": "sha512-Q4V2GAflSaM739kKH63utbfI2n4s2fCDCyjFC4ykxA9ueb7FknLcLAZSKa3DejHMt5q9Fq395eKTZ9wYwoILBw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "execa": "^0.8.0", + "find-up": "^2.1.0", + "ignore": "^3.3.7", + "mri": "^1.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", diff --git a/package.json b/package.json index da5bfb7..beb41b9 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,9 @@ "ngc": "ngc", "build": "npm run ngc", "publishPackage": "npm run build && npm publish", + "prettier": "prettier --write src/**", + "pretty-quick": "pretty-quick", + "precommit": "pretty-quick --staged", "commitmsg": "commitlint -e $GIT_PARAMS", "release": "standard-version" }, @@ -39,6 +42,8 @@ "@commitlint/config-angular": "^6.1.3", "husky": "^0.14.3", "ionic-angular": "^3.9.2", + "prettier": "^1.12.1", + "pretty-quick": "^1.4.1", "rxjs": "5.5.2", "standard-version": "^4.3.0", "typescript": "^2.6.2", diff --git a/src/ar-error-message-component.ts b/src/ar-error-message-component.ts index 8fb567b..684278c 100644 --- a/src/ar-error-message-component.ts +++ b/src/ar-error-message-component.ts @@ -1,6 +1,6 @@ import {Component, ElementRef, Input, OnDestroy, OnInit} from '@angular/core'; -import {trigger, state, transition, style, animate} from "@angular/animations"; -import {Events} from "ionic-angular"; +import {trigger, state, transition, style, animate} from '@angular/animations'; +import {Events} from 'ionic-angular'; const HTML_TEMPLATE = `

{{message}}

@@ -20,68 +20,65 @@ const CSS_STYLE = ` }`; @Component({ - selector: 'ar-error-message', - template: HTML_TEMPLATE, - styles: [CSS_STYLE], - animations: [ - trigger('fadeIn', [ - state('void', style({opacity: '0'})), - state('*', style({opacity: '1'})), - transition('void <=> *', animate('750ms ease-in')) - ]), - trigger('fadeOut', [ - //state('*', style({'min-height': '40px'})), - state('hidden', style({'min-height': '0'})), - transition('* => *', animate('500ms ease-in')) - ]) - ] + selector: 'ar-error-message', + template: HTML_TEMPLATE, + styles: [CSS_STYLE], + animations: [ + trigger('fadeIn', [ + state('void', style({opacity: '0'})), + state('*', style({opacity: '1'})), + transition('void <=> *', animate('750ms ease-in')) + ]), + trigger('fadeOut', [ + //state('*', style({'min-height': '40px'})), + state('hidden', style({'min-height': '0'})), + transition('* => *', animate('500ms ease-in')) + ]) + ] }) export class ArErrorMessageComponent implements OnInit, OnDestroy { + autoHide: boolean = false; + fadeOutEffect: string; + @Input('autoScroll') autoScroll: boolean = true; + @Input('message') message: string = ''; - autoHide: boolean = false; - fadeOutEffect: string; - @Input('autoScroll') autoScroll: boolean = true; - @Input('message') message: string = ''; - - @Input('autoHide') set setAutoHide(autoHide) { - this.autoHide = autoHide; - if (autoHide) { - this.triggerHideComponent(); - } - }; - - constructor(public elRef: ElementRef, public events: Events) { + @Input('autoHide') + set setAutoHide(autoHide) { + this.autoHide = autoHide; + if (autoHide) { + this.triggerHideComponent(); } + } - ngOnInit() { - if (this.autoScroll) { - this.scrollToComponent(); - } - this.events.subscribe('form-submit-failed', () => { - if (this.autoScroll) { - this.scrollToComponent(); - } - if (this.autoHide) { - this.fadeOutEffect = 'void'; - this.triggerHideComponent(); - } - }); - - } + constructor(public elRef: ElementRef, public events: Events) {} - ngOnDestroy() { - this.events.unsubscribe('form-submit-failed'); + ngOnInit() { + if (this.autoScroll) { + this.scrollToComponent(); } + this.events.subscribe('form-submit-failed', () => { + if (this.autoScroll) { + this.scrollToComponent(); + } + if (this.autoHide) { + this.fadeOutEffect = 'void'; + this.triggerHideComponent(); + } + }); + } - triggerHideComponent() { - setTimeout(() => { - this.fadeOutEffect = 'hidden'; - //this.message = ''; - }, 5000); - } + ngOnDestroy() { + this.events.unsubscribe('form-submit-failed'); + } - scrollToComponent() { - this.elRef.nativeElement.scrollIntoView({behavior: "smooth"}); - } + triggerHideComponent() { + setTimeout(() => { + this.fadeOutEffect = 'hidden'; + //this.message = ''; + }, 5000); + } + scrollToComponent() { + this.elRef.nativeElement.scrollIntoView({behavior: 'smooth'}); + } } diff --git a/src/ar-error-message.module.ts b/src/ar-error-message.module.ts index e5b0910..c868358 100644 --- a/src/ar-error-message.module.ts +++ b/src/ar-error-message.module.ts @@ -1,24 +1,22 @@ import {NgModule, ModuleWithProviders} from '@angular/core'; -import {ArErrorMessageComponent} from "./ar-error-message-component"; -import {IonicModule} from "ionic-angular"; +import {ArErrorMessageComponent} from './ar-error-message-component'; +import {IonicModule} from 'ionic-angular'; @NgModule({ - imports: [ - IonicModule - ], - declarations: [ - // declare all components that your module uses - ArErrorMessageComponent - ], - exports: [ - // export the component(s) that you want others to be able to use - ArErrorMessageComponent - ] + imports: [IonicModule], + declarations: [ + // declare all components that your module uses + ArErrorMessageComponent + ], + exports: [ + // export the component(s) that you want others to be able to use + ArErrorMessageComponent + ] }) export class ArErrorMessageModule { - static forRoot(): ModuleWithProviders { - return { - ngModule: ArErrorMessageModule - }; - } -} \ No newline at end of file + static forRoot(): ModuleWithProviders { + return { + ngModule: ArErrorMessageModule + }; + } +} diff --git a/src/index.ts b/src/index.ts index b0239f5..b854e75 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,2 @@ export * from './ar-error-message.module'; -export * from './ar-error-message-component'; \ No newline at end of file +export * from './ar-error-message-component';