Show/Hide Toolbars

Методические рекомендации по настройке системы "Первая Форма"



В карточке задачи вся бизнес-логика (проверка значений на корректность и т.п.) срабатывает при вызове метода save().

Вставка для работы с ДП в карточке задачи оформляется следующим образом:

$(window).on('MTFMainLoadFinished', function() { JS-ставка });

Вставка для работы с ДП в форме создания новой задачи оформляется следующим образом:

$(window).on('NewTaskLoadFinished', function() { JS-ставка });

!warning В форме создания новой задачи методы save() и update() недоступны, т.к. задача еще не существует.

Если в JS-вставке для карточки задачи или для карточки создания новой задачи привязано событие change(), то callback-функция срабатывает на следующие пользовательские действия:

установка значения через кнопку выбора;
lookup_change

установка автодополнением (когда пользователь набирает в окне ввода часть значения и затем выбирает нужную запись из выпадающего списка, который автоматически предлагает ему система);
lookup_autocomplete

установка через .val("abc"), когда значение назначается в самой JS-вставке;

удаление значения с помощью значка удаления;
lookup_del

запуск ep.change().

Методы для работы с ДП

Метод

Что делает

var ep = new ExtParam(1234)

Получает JS-объект для управления ДП (обращения к jQuery или к DOM на данном этапе еще не производится,объект находится на стадии формирования)

ep.get()

Возвращает jQ-объект, содержащий ДП

ep.label()

Возвращает jQ-объект подписи

ep.label().html()

Возвращает текст подписи

ep.label("text")

Меняет текст подписи к ДП и возвращает jQ-объект

ep.show()

Показывает ДП и подпись и возвращает объект управления

ep.hide()

Скрывает ДП и подпись, а также и возвращает объект управления


ep.val()

Получает значение ДП

ep.val("text")

Устанавливает значение ДП, вызывает событие 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" при скрытии/показе ДП верстка будет адаптироваться, при скрытии/показе ДП будет адаптироваться автоматически

!warning Особенности работы со сквозными ДП:
ДП типа "Сквозной" создается методом new ExtParam(ID сквозного ДП). ID сквозного ДП формируется как строковое соединение ID текущего ДП и ID финального ДП. Например, если в категории есть сквозной ДП с ID=5555, который смотрит на ДП в другой категории с ID=9999, то для сквозного ДП ID будет равным 55559999. Если такой ДП уже существует в задаче, обертка сработает некорректно.

Таблица совместимости методов и типов ДП в карточке задачи

Методы, не указанные в таблице совместимости, работают для всех ДП.

Тип ДП

ep.val();

ep.val("text");

ep.save();

ep.update();

Флажок (checkbox)

green

green ("да"/"on"/true/1)

green

green

Дата

green

green

green

green

Дата и время

green

green

green

green

Файл

red

red

red

red

Lookup

green (ID задачи)

green (ID задачи)

green

green

Деньги

green

green

green

green

Выбор нескольких задач из категории (multilookup)

green (JSON массив ID задач)

green (JSON массив ID задач)

green

green

Нумератор

green

red

red

red

Число

green

green

green

green

Выпадающий список

green

green

green

green

Список выбора задач из категории

green (ID задачи)

green (ID задачи)

green

green

Выбор пользователей

green (в виде ID)

red

green

green

Таблица

green (html таблица)

red

red

red

Текст

green

green (без шаблона номера телефона)

green

green

Большой текст с форматированием

green

green

green

green

Большой текст без форматирования

green

green

green

green

Сквозной

green

green

green

green

Дерево

red

red

red

red

URL

green

green

green

green