Created
October 13, 2019 04:28
-
-
Save takahirohonda/05e5f9716f97899ed106b0ecba972f9a to your computer and use it in GitHub Desktop.
karma-unit-test-input-eventlistener-1.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { IEventHandler } from './types/interfaces'; | |
| class SelectEventHandler implements IEventHandler { | |
| private formElement: HTMLElement; | |
| private selectElements: any; | |
| constructor(formElement: HTMLElement) { | |
| this.formElement = formElement; | |
| this.selectElements = this.formElement | |
| .querySelectorAll('select'); | |
| } | |
| public init(): void { | |
| this.selectStyleAddEvents(); | |
| } | |
| private selectStyleAddEvents(): void { | |
| for (let elem of this.selectElements) { | |
| elem.addEventListener('input', (e: any) => { | |
| this.changeStyle(e.target.value, elem); | |
| }); | |
| elem.addEventListener('blur', (e: any) => { | |
| this.changeStyle(e.target.value, elem); | |
| }); | |
| elem.addEventListener('focus', () => { | |
| elem.style.color = 'black'; | |
| }); | |
| } | |
| } | |
| private changeStyle(value: string, elem: HTMLElement) | |
| : void { | |
| if (value.length > 0) { | |
| elem.style.color = 'black'; | |
| } else { | |
| elem.style.color = 'rgb(117, 117, 117)'; | |
| } | |
| } | |
| } | |
| export default SelectEventHandler; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment