ngx-lower-case-directive
Version:
This directive helps to convert an input text value to lower case.
1 lines • 4.47 kB
Source Map (JSON)
{"version":3,"file":"ngx-lower-case-directive.mjs","sources":["../../../projects/ngx-lower-case-directive/src/lib/ngx-lower-case.directive.ts","../../../projects/ngx-lower-case-directive/src/lib/ngx-lower-case-directive.module.ts","../../../projects/ngx-lower-case-directive/src/lib/index.ts","../../../projects/ngx-lower-case-directive/src/lib/ngx-lower-case-directive.ts"],"sourcesContent":["import {\n Directive,\n HostListener,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: 'input[lowerCase]:not([upperCase]),textarea[lowerCase]:not([upperCase])',\n})\nexport class NgxLowerCaseDirective {\n\n @Input() lowerCase: string;\n\n private getCaret (el) {\n\n return {\n start: el.selectionStart,\n end: el.selectionEnd,\n };\n\n }\n\n private setCaret (el, start, end) {\n\n el.selectionStart = start;\n el.selectionEnd = end;\n\n el.focus();\n\n }\n\n private dispatchEvent (el, eventType) {\n\n const event = document.createEvent('Event');\n event.initEvent(eventType, false, false);\n el.dispatchEvent(event);\n\n }\n\n private convertValue (el, value) {\n\n el.value = value.toLowerCase();\n\n this.dispatchEvent(el, 'input');\n\n }\n\n @HostListener('blur', ['$event.target', '$event.target.value'])\n onBlur (el: any, value: string): void {\n\n if ((!this.lowerCase || 'blur' === this.lowerCase) && 'function' === typeof value.toLowerCase && value.toLowerCase() !== value) {\n\n this.convertValue(el, value);\n this.dispatchEvent(el, 'blur'); // in case updateOn is set to blur\n\n }\n\n }\n\n @HostListener('input', ['$event.target', '$event.target.value'])\n onInput (el: any, value: string): void {\n\n if (!this.lowerCase && 'function' === typeof value.toLowerCase && value.toLowerCase() !== value) {\n\n let { start, end } = this.getCaret(el);\n\n if (value[0] === ' ' && start === 1 && end === 1) {\n\n start = 0;\n end = 0;\n\n }\n\n this.convertValue(el, value);\n\n this.setCaret(el, start, end);\n\n }\n\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { NgxLowerCaseDirective } from './ngx-lower-case.directive';\n\n@NgModule({\n imports: [],\n declarations: [NgxLowerCaseDirective],\n exports: [NgxLowerCaseDirective],\n})\nexport class NgxLowerCaseDirectiveModule {\n}\n","/*\n * Public API Surface of ngx-lower-case-directive\n */\n\nexport * from './ngx-lower-case.directive';\nexport * from './ngx-lower-case-directive.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MASa,qBAAqB;IAIxB,QAAQ,CAAE,EAAE;QAElB,OAAO;YACL,KAAK,EAAE,EAAE,CAAC,cAAc;YACxB,GAAG,EAAE,EAAE,CAAC,YAAY;SACrB,CAAC;KAEH;IAEO,QAAQ,CAAE,EAAE,EAAE,KAAK,EAAE,GAAG;QAE9B,EAAE,CAAC,cAAc,GAAG,KAAK,CAAC;QAC1B,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC;QAEtB,EAAE,CAAC,KAAK,EAAE,CAAC;KAEZ;IAEO,aAAa,CAAE,EAAE,EAAE,SAAS;QAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAEzB;IAEO,YAAY,CAAE,EAAE,EAAE,KAAK;QAE7B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KAEjC;IAGD,MAAM,CAAE,EAAO,EAAE,KAAa;QAE5B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC,SAAS,KAAK,UAAU,KAAK,OAAO,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;YAE9H,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAEhC;KAEF;IAGD,OAAO,CAAE,EAAO,EAAE,KAAa;QAE7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,KAAK,OAAO,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;YAE/F,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE;gBAEhD,KAAK,GAAG,CAAC,CAAC;gBACV,GAAG,GAAG,CAAC,CAAC;aAET;YAED,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAE7B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAE/B;KAEF;;wJAtEU,qBAAqB;4IAArB,qBAAqB;2FAArB,qBAAqB;kBAHjC,SAAS;mBAAC;oBACT,QAAQ,EAAE,wEAAwE;iBACnF;8BAGU,SAAS;sBAAjB,KAAK;gBAqCN,MAAM;sBADL,YAAY;uBAAC,MAAM,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;gBAa9D,OAAO;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;;;MCnDpD,2BAA2B;;8JAA3B,2BAA2B;+JAA3B,2BAA2B,iBAHvB,qBAAqB,aAC1B,qBAAqB;+JAEpB,2BAA2B,YAJ7B,EAAE;2FAIA,2BAA2B;kBALvC,QAAQ;mBAAC;oBACR,OAAO,EAAE,EAAE;oBACX,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;iBACjC;;;ACPD;;;;ACAA;;;;;;"}