2.0.6 • Published 5 years ago

test_task_maslov v2.0.6

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

test_task

Тестовое задание для стажировки

Веб-компонент

  1. Нет зависимостей!

  2. Веб-компонент для валидации номера телефона с маской

  3. Посмотреть демонстрацию можно при установке и запуске команды npm run start

Вставка веб-компонента

Для того, чтобы вставить компонент достаточно вставить тег

<number-input id="number_input" mask="+7(985)0II-**-**"></number-input>

Аттрибуты

  • [mask] строка с маской номера. Пример: const mask = '+7(985)0II-**-**';

Маска инпута. Значения:

  • "I" - одиночный инпут для ввода одной цифры
  • "X" - серый блок с символом "X"
  • "*" - серый блок с символом "●"
  • <цифра> - серый блок с введенной цифрой
  • <не цифра> - символ отображается "как есть"

Методы

  • value() - получает текущее значение введенных символов, если символ не введен метод возвращает '_'

Так как валидация вводимого номера происходит на сервере, можно управлять состоянием компоненты с помощью соответсвующих методов:

  • error() - при неверном ответе, добавляет стиль ошибки

    Пример: document.getElementById("number_input").error();

  • success() - при верном ответе, убирает стиль ошибки (восстанавливает исходный вид)

    Пример: document.getElementById("number_input").success();

Дополнительные требования из списка заданий

  • Настроена сборка с использованием webpack и публикация в npm https://www.npmjs.com/package/test_task_maslov
  • Реализовано на typescript, есть полноценное описание и вывод типов, а также поставка *.d.ts файлов в итоговую сборку
  • Настроен линтинг в проекте eslint, prettier
  • Подготовлено руководство по компоненту - файл README.md
  • Реализованы git-хуки, запускающие линтинг при коммите

Немного о себе

  • Осенью стажировался в tinkoff, успешно закончил стажировку
  • Стек технологий, которым свободно владею: React, Typescript, Redux, Webpack, Css/Scss, также писал на Node.js серверную часть
2.0.6

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.0

5 years ago