ProgressBlock
README.md
Разработан прототип блока Progress.
Особенности :
- Блок имеет API для управления его состоянием
- Для легкого переиспользования и интеграции использованы модули JS
Состояния:
- Normal- при задании Value происходит управление размером дуги с некоторой анимацией. Для того, чтобы легко управлять ее скоростью и не искать, где она записана, константа «SPEEDNORMAL»(скорость) вынесена в отдельный файл «constants.js». При каждом введении Value дуга начинает свое начало от 0. Для того, чтобы дуга начинала свое движение от предыдущего состояния, тогда стоит вынести переменную «startPersent=0» из функции «normal» в файле по пути: «stateProgress/progressNormal». Если ввести Value>100 автоматически выставляется 100.
- Animated-при нажатии на чекбокс Animate начинается вращение блока. Однако, этого вращения не видно при задании Value=0 или =100, так как макет не предусматривает этого.
- Hidden-при нажатии на чекбокс Hide скрывается блок Progress от пользователя.
- Приложение адаптируется под ориентацию
Ссылка на gitHub Pages: https://lobanovavaleria.github.io/TestProgressBlock/
Краткий экскурс по файлам
- index.html, progressStyle.css, main.js
- stateProgress - папка с 3 файлами - функциями для изменения состояния блока Progress
- progressAnimated.js - файл, отвечающий за состояние Animated
- progressHidden.js - файл с функцией «setHidden», отвечающей за состояние Hidden
- progressNormal.js - файл с функциями, отвечающие за состояние Normal
- constants.js - файл для констант
- elementsForChange.js - в этом файле находятся элементы блока, к которым будут применяться методы, находящиеся в папке stateProgress.
- elementsOfControls.js - здесь лежат элементы управления блоком, на которые вешается прослушиватель событий в файле main.js.