Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. <mat-form-field floatLabel="auto">
  2. <input [formControl]="displayNameControl"
  3. mongoIndexLimit
  4. [charLength]="charLength"
  5. matInput
  6. name="displayName"
  7. placeholder="Stack Name"
  8. autocomplete="off"
  9. required />
  10. </mat-form-field>
  11.  
  12. import { Directive, OnInit, NgModule, ElementRef, OnChanges, Input, SimpleChanges, Renderer2 } from '@angular/core';
  13.  
  14. @Directive({
  15. selector: '[mongoIndexLimit]'
  16. })
  17. export class MongoIndexLimitDirective implements OnInit, OnChanges {
  18. @Input() public charLength?: number;
  19. private maxLength = 5;
  20. constructor(
  21. private el: ElementRef<HTMLElement>,
  22. private renderer: Renderer2
  23. ) { }
  24.  
  25. public ngOnInit() {
  26. this.el.nativeElement.setAttribute('maxLength', this.maxLength.toString());
  27. }
  28.  
  29. public ngOnChanges(changes: SimpleChanges) {
  30. if (changes.charLength.currentValue >= 5) {
  31. const child = document.createElement('mat-error');
  32. this.renderer.appendChild(this.el.nativeElement.parentElement.parentElement.parentElement, child);
  33. }
  34. }
  35.  
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement