Задача [0193]: Компонент «Предупреждение о перегрузке» (ВМК)

Формулировка проблемы: нужен внешний модуль-компонент, который будет встраиваться в диалоги создания работы/проекта документа (как поле), получать от этого диалога информацию о выбранном сроке/пользователе, и если какой-либо пользователь перегружен в это время, выдавать предупреждение.

Связанные задачи: 0195

Решение: необходимо реализовать пользовательский компонент, который будет встраиваться при помощи ВМК в следующие места размещения:

с типом вставки ADD.

Компонент должен обрабатывать все изменения в компонентах типа «Выбор пользователя» в окружающем его диалоге создания и запрашивать для каждого выбранного пользователя его нагрузку (метод API rest/person/workload, см. 0195). Если значение нагрузки пользователя на текущую дату >= 100, то компонент последней строчкой в диалоге должен выводить предупреждение со следующим текстом:

Внимание! Пользователь выбранное-значение перегружен.

Если пользователей с нагрузкой >= 100 выбрано несколько, текст предупреждения должен быть таким:

Внимание! Пользователи выбранное-значение-1, выбранное-значение-2, ..., выбранное-значение-n перегружены.

Если количество перегруженных пользователей составляет более 10, то текст предупреждения должен быть таким:

Внимание! Пользователи выбранное-значение-1, выбранное-значение-2, ..., выбранное-значение-10 и ещё M перегружены.

где M = общее количество перегруженных пользователей - 10.

Свойства предупреждения:

Рисунок 304. Предупреждение о перегрузке в стандартном диалоге создания работы

Предупреждение о перегрузке в стандартном диалоге создания работы

Рисунок 305. Предупреждение о перегрузке в кастомном диалоге создания работы

Предупреждение о перегрузке в кастомном диалоге создания работы

Если пользователи с перегрузкой удалены из компонентов выбора, предупреждение должно быть убрано, а диалог - вернуться к своему первоначальному виду.

HTML и JavaScript-код компонента должен снабжён комментариями для облегчения его дальнейшей модификации силами ЦР.