В карточке задачи вся бизнес-логика (проверка значений на корректность и т.п.) срабатывает при вызове метода save().
Вставки для работы с ДП оформляются следующим образом:
без использования jQuery |
с использованием jQuery |
---|---|
в карточке задачи: window.addEventListener('MTFMainLoadFinished', function() { JS-вставка}) |
в карточке задачи: $window.on('MTFMainLoadFinished', function() { JS-вставка }); |
в карточке новой задачи: window.addEventListener('NewTaskLoadFinished', function() { JS-вставка }) |
в карточке новой задачи: $window.on('NewTaskLoadFinished', function() { JS-вставка }); |
|
---|
|
---|
Если в JS-вставке для карточки задачи или для карточки создания новой задачи привязано событие change(), то callback-функция срабатывает на следующие пользовательские действия:
•установка значения через кнопку выбора;
•установка автодополнением (когда пользователь набирает в окне ввода часть значения и затем выбирает нужную запись из выпадающего списка, который автоматически предлагает ему система);
•установка через .val("abc"), когда значение назначается в самой JS-вставке;
•удаление значения с помощью значка удаления;
•вызов ep.change().
Обращение к основным параметрам
В JS вставках в карточке задачи можно обращаться к номеру задачи — taskId, и статусу задачи — StateID.
ID пользователя, от имени которого ведется работа, доступно в SessionUserID.
|
---|
Методы для работы с ДП
Метод |
Что делает |
||
---|---|---|---|
var ep = new ExtParam(1234) |
Получает JS-объект для управления ДП с ID=1234 (обращения к jQuery или к DOM на данном этапе еще не производится, объект находится на стадии формирования) |
||
ep.get() |
Возвращает jQ-объект, содержащий ДП |
||
ep.label() |
Возвращает jQ-объект подписи |
||
ep.label().html() |
Возвращает текст подписи |
||
ep.label("text") |
Меняет текст подписи к ДП и возвращает jQ-объект |
||
ep.show() |
Показывает ДП и подпись и возвращает объект управления |
||
ep.hide() |
Скрывает ДП и подпись, а также и возвращает объект управления |
||
ep.val() |
Получает значение ДП |
||
ep.textVal(); |
Получает значение ДП в текстовом виде |
||
ep.val(param) |
Устанавливает значение ДП, вызывает событие change |
||
ep.getAvailableValues(handler) |
Получает список возможных значений ДП Lookup и Multilookup. handler — метод, принимающий массив элементов типа { text, value }, где text — список текстов задач, а value — список ID задач (см. пример использования) |
||
ep.change() |
Запускает обработчик change() для ДП.
|
||
ep.change(handler) |
Подписывает на изменение ДП |
||
ep.change(null) |
Отписывает все обработчики на изменение ДП |
||
ep.save() |
Сохраняет изменения ДП на сервере |
||
ep.save(handler) |
Подписывает на сохранение ДП |
||
ep.save(null) |
Отписывает все обработчики на сохранение ДП |
||
ep.update() |
Обновляет ДП с сервера |
||
ep.update(handler) |
Подписывает на обновление ДП с сервера |
||
ep.update(null) |
Отписывает все обработчики на обновление ДП с сервера |
||
(new ExtParam(1234)).val("123").save(handler).save().hide() |
Если логика не предусматривает иного, то повторно возвращает объект управления ДП |
||
SaveEPsWithIDs([1234, 1235]) |
Сохраняет все ДП по массиву индексов. Срабатывают триггеры на save() для каждого из ДП |
||
ep.isHidden() |
Принимает значение "true", если ДП нет на форме или он скрыт настройками категории |
||
ep.freeze() |
Делает ДП доступным только на чтение (принимает на вход значения "true" или "false") |
||
ep.adaptDesign() |
При установке значения "true" при скрытии/показе ДП верстка будет адаптироваться, при скрытии/показе ДП будет адаптироваться автоматически |
ДП типа "Сквозной" создается методом new ExtParam(ID сквозного ДП). ID сквозного ДП формируется как строковое соединение ID текущего ДП и ID финального ДП. Например, если в категории есть сквозной ДП с ID=5555, который смотрит на ДП в другой категории с ID=9999, то для сквозного ДП ID будет равным 55559999. Если такой ДП уже существует в задаче, обертка сработает некорректно. |
---|
Таблица совместимости методов и типов ДП в карточке задачи
Методы, не указанные в таблице совместимости, работают для всех ДП.
Тип ДП |
ep.val(); |
ep.val("text"); |
ep.save(); |
ep.update(); |
---|---|---|---|---|
Флажок (checkbox) |
|
|||
Дата |
||||
Дата и время |
||||
Файл |
||||
Lookup |
|
|
||
Деньги |
||||
Выбор нескольких задач из категории (multilookup) |
|
|
||
Нумератор |
||||
Число |
||||
Выпадающий список |
||||
Выбор нескольких задач из категории |
|
|
||
Выбор пользователей |
|
|||
Таблица |
|
|||
Текст |
|
|||
Большой текст с форматированием |
||||
Большой текст без форматирования |
||||
Сквозной |
||||
Дерево |
||||
URL |